Page MenuHome

2.72 make install of manpage fails
Closed, ArchivedPublic

Description

System Information
Operating system and graphics card
Lunar-Linux (source based), Nvidia 760

Blender Version
Broken: 2.72 current release
Worked: 2.71 was fine

Short description of error
The make install fails on the manpage.

Exact steps for others to reproduce the error
Nothing to it really, just run your ccmake, make and make install. The make install fails with;

-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/rrt_ut33_sRGB.spi3d
-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/rec709_to_aces.spimtx
-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/lg10.spi1d
-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/adx_exp_to_aces.spimtx
Traceback (most recent call last):
  File "/usr/src/blender-2.72/doc/manpage/blender.1.py", line 54, in <module>
('  executing:', '/usr/src/blender-2.72/blender-oosb/bin/blender --help')
    blender_help = subprocess.check_output(cmd).decode(encoding="utf-8")
  File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['/usr/src/blender-2.72/blender-oosb/bin/blender', '--help']' returned non-zero exit status -11
-- Installing: /usr/bin/blender
CMake Error at source/creator/cmake_install.cmake:501 (file):
  file INSTALL cannot find
  "/usr/src/blender-2.72/blender-oosb/bin/blender.1".
Call Stack (most recent call first):
  cmake_install.cmake:40 (include)


Makefile:66: recipe for target 'install' failed
make: *** [install] Error 1

Details

Type
Bug

Event Timeline

Taurnil (Taurnil) added a project: BF Blender.
Taurnil (Taurnil) set Type to Bug.
Taurnil (Taurnil) created this task.
Taurnil (Taurnil) raised the priority of this task from to Needs Triage by Developer.

Hi @Taurnil (Taurnil)

if you follow the guide here , there no need for make install.

Please try the guide from there.

I remember @Campbell Barton (campbellbarton) was making changes, it might be a missing dependency between manpage generator and blender binary.

Sergey Sharybin (sergey) triaged this task as Normal priority.Oct 7 2014, 4:01 PM

sergey,

Think I see the problem. I have Python-3.4.1 and 2.71 installed on this box. I point cmake to relevant path/paths for python-3 using a variable;

-DPYTHON_VERSION=3.$PYTHON_VER 
-DPYTHON_LIBRARIES=/usr/lib/python3.$PYTHON_VER
-DWITH_PYTHON_INSTALL=0
-DPYTHON_INCLUDE_DIRS=/usr/include/python3.${PYTHON_VER}m

Some where along the line, not sure if it is in the make or make install phase it is picking up python2 stuff.

Do you have the PYTHONPATH set? We had some complaints about this before, where Blender would use the PYTHONPATH which points to 2.7x, then fail.

With the following and using the same -D options above;

PYTHONPATH=/usr/lib/python3.4:${PYTHONPATH} &&
export PYTHONPATH=${PYTHONPATH} &&

This error is thrown;

-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/lg10.spi1d
-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/adx_exp_to_aces.spimtx
  File "/usr/lib/python3.4/site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax
-- Installing: /usr/bin/blender
CMake Error at source/creator/cmake_install.cmake:501 (file):
  file INSTALL cannot find
  "/usr/src/blender-2.72/blender-oosb/bin/blender.1".
Call Stack (most recent call first):
  cmake_install.cmake:40 (include)


Makefile:66: recipe for target 'install' failed
make: *** [install] Error 1

And /usr/lib/python3.4/site.py exists.

After a number of gyrations of pointing PYTHONPATH to different directory depths where Python-3 is installed. I get that make install failure or the one previously mentioned.

I remember @Campbell Barton (campbellbarton) was making changes, it might be a missing dependency between manpage generator and blender binary.

Which manpage generator? Some external dependency?

Generating the man-page is apart of the install process. Its not essential (if you're OK to not to have a man-page),
but this should be able to work, running blender --help shouldn't fail.

Ah, well that is the rub. Have not gotten to the point of a complete install. Looked through cmake and could find no easy way to skip that blender.1.py business. Else I would not be here and my python-ese is next to nil. Apart from this little stumbling block I would have had this package created and pushed to our users.

Its not clear what is going on here, we setup blender building on new systems often, and never saw this.

Can you try make install without PYTHONPATH set?

make install runs fine without error and does not trip over that --help part.

-- Installing: /usr/share/blender/2.72/datafiles/colormanagement/luts/adx_exp_to_aces.spimtx
('  executing:', '/usr/src/blender-2.72/blender-oosb/bin/blender --help')
('written:', '/usr/src/blender-2.72/blender-oosb/bin/blender.1')
-- Installing: /usr/bin/blender
-- Installing: /usr/share/man/man1/blender.1
-- Installing: /usr/bin/blenderplayer

Just to be clear, I mean running "make install" from cli.

@Taurnil (Taurnil), did unsetting the PYTHONPATH fix the problem?

Taurnil (Taurnil) added a comment.EditedOct 9 2014, 11:58 AM

@Campbell Barton (campbellbarton), set or unset makes no difference.

Thought I was onto something. Noticed blender.1.py was using #!/usr/bin/python so I changed it to python3. Got the same error as before but now instead of python2.7 it says;

File "/usr/lib/python3.4/subprocess.py", line 620, in check_output

Side note:

I noticed release/datafiles/ctodata.py and release/datafiles/datatoc.py call #!/usr/bin/python, should that be python3? Just to be sure they should, changing it made no difference.

Both: ./release/datafiles/datatoc.py and ./doc/manpage/blender.1.py work with Python2.7x, and Python3.4x (likely Py3.3x too)

Could you attach the full output of make install without PYTHONPATH set?

Lunar-Linux by default does not set PYTHONPATH unless specified in the build scripts. Here are the relevant Python3 items I am using;

# Has trouble finding llvm
  if in_depends $MODULE llvm ; then
    OPTS+=" -DLLVM_LIBRARY=/usr/lib"
  fi &&

  OPTS+=" -DWITH_IMAGE_REDCODE=ON \
          -DWITH_PYTHON_INSTALL=OFF \
          -DWITH_PLAYER=ON   \
          -DWITH_INSTALL_PORTABLE=OFF \
          -DWITH_BUILDINFO=ON \
          -DPYTHON_REQUESTS_PATH=/usr/lib/python3.4/site-packages/pip/_vendor/requests \
          -DPYTHON_VERSION=3.4 \
          -DPYTHON_LIBRARY=/usr/lib/libpython3.4m.so \
          -DPYTHON_LIBRARIES=/usr/lib/python3.4 \
          -DPYTHON_INCLUDE_DIRS=/usr/include/python3.4m \
          -DWITH_INTERNATIONAL=ON" &&

Attached is the complete compile log;

Well I had to do some fiddling but managed to get a successful install with my build scripts. It is sort of a cheat mostly. Taking a cue from the provided GNUmakefile section about man:

python3 doc/manpage/blender.1.py "$(BUILD_DIR)/bin/blender"

I modified it with and changed the build script in this way;

# Has trouble finding llvm
  if in_depends $MODULE llvm && [[ `arch` == "x86_64" ]]; then
    OPTS+=" -DLLVM_LIBRARY=/usr/lib/libLLVM-3.4.so"
  fi &&

  OPTS+=" -DWITH_IMAGE_REDCODE=ON \
          -DWITH_PYTHON_INSTALL=OFF \
          -DWITH_PYTHON_INSTALL_NUMPY=OFF \
          -DWITH_STATIC_LIBS=OFF \
          -DWITH_PYTHON=ON \
          -DWITH_PLAYER=ON   \
          -DWITH_INSTALL_PORTABLE=OFF \
          -DPYTHON_VERSION=3.4 \
          -DPYTHON_LIBRARY=/usr/lib/libpython3.4m.so \
          -DPYTHON_REQUESTS_PATH=/usr/lib/python3.4/site-packages/pip/_vendor/requests \
          -DPYTHON_LIBRARIES=/usr/lib/python3.4 \
          -DPYTHON_INCLUDE_DIRS=/usr/include/python3.4m" &&

  default_cmake_config &&

  make&&

# We need to do it this way else make tanks
  python3 ../doc/manpage/blender.1.py bin/blender bin/blender.1 &&

  prepare_install &&
  make install

Basically the blender.1 file is created in the bin dir so when the make install tries to create it the error still happens but is now sort of "non-fatal" as the file exists and the make install proceeds as normal. Still do not know why the error happens.

Exit status 11 looks to be a segfault, so it looks like the binary thats built is crashing for some reason.

Try running:

/usr/src/blender-2.72/blender-oosb/bin/blender --help

If this crashes, then theres something very wrong with the build.

@Campbell Barton (campbellbarton)

Recompiling with that python3 line so the make will fail, running blender --help gives a long list of commands and environment variables that can be used (no errors of any sort).

We need to be able to redo errors to fix them, moving to unconfirmed.

In this particular case it may be needed to install a different linux distrobution (in a VM?),

If this is really an error in blender/cmake - we can do, but please give some steps to do this, at the moment its not clear where the error might be.

Bastien Montagne (mont29) closed this task as Archived.

Nothing new here, thanks for the report, but time to archive.