Page 1 of 1

Compiling in Debian

Posted: Tue Jul 18, 2006 6:26 am
by ScarecrowPA
I apoligize in advance if I am posting in the wrong forum - please direct me to the correct one.

I've been enjoying working with blender from precompiled binaries, mostly in OSX - which works well with a few minor hiccups. I am currently trying to set up a small drqueue render-farm to make use of some older boxes I have lying around. Some of my slaves will be old pentium boxes formerly running windows which I am converting to Linux; those boxes will have a minimal linux to allow networking, drqueue, and blender to be run in the background from the command line rather than full visual interactive mode.

My first attempted install was started using a Debian "network install" cd, which installed a minimal Debian base and I have since installed various packages manually. I ran into errors using the blender package available with the Debian "apt" package manager, so I decided to install Blender from the latest source using the "scons" method.

I thought I had satisfied all of the blender dependencies by apt-get'ing the required packages, however during compilation I do receive a fairly high number of warnings. The fatal errors seem to relate to something called BPY. I'm not an expert by any means, so please let me know where to look in the logs to pinpoint the problem .. from the console scrollback a typical error message is:

"source/blender/python/BPY_interface.c:1882: error `Py_file_input' undeclared (first use in this function)"

This suggests to me that I've failed to satisfy a dependency, but I'm at a bit of a loss regarding what I need to install to satisfy it.

Sorry if this is something obvious - I'm kind of a linux-grashopper, I've always relied on the kindness of gurus.

Any assistance is heartily thanked for in advance!


Posted: Tue Jul 18, 2006 5:30 pm
by SirDude
Hi Jim,

I'm guessing it can't find Python's headers.
I'd double check those settings in your scons config file for your machine.

You really need to look at the first error message.
(I'm guessing it is something like can not find "Python.h")


Kent Mein

Re: Compiling in Debian

Posted: Tue Jul 18, 2006 8:26 pm
by kidb
ScarecrowPA wrote:
I thought I had satisfied all of the blender dependencies by apt-get'ing the required packages
apt-get build-dep blender should install the dev-packages.
If an error like :"extern/bFTGL/include/FTFont.h:4:22: error: ft2build.h: No such file or directory " occurs do a:
apt-file search ft2build.h which lists the package(s) where the is included.
(apt-get install apt-file, apt-file update).

Posted: Thu Jul 20, 2006 2:26 am
by ScarecrowPA
Thanks for the quick responses. I did apt-get build-dep, however I believe this builds the dependencies against the currently available blender apt package, which is 2.36 and I am building from the current 2.42 source.

I neglected to mention that I am building using the scons method. The first error message I receive in context:

Code: Select all

[94mCompiling[0m ==> '[92mBPY_interface.c'[0m
source/blender/python/BPY_interface.c:34:20: Python.h: No such file or directory
source/blender/python/BPY_interface.c:36:59: compile.h: No such file or directory
source/blender/python/BPY_interface.c:37:58: eval.h: No such file or directory
In file included from source/blender/python/BPY_interface.c:56:
source/blender/python/api2_2x/constant.h:36:20: Python.h: No such file or directory
In file included from source/blender/python/BPY_interface.c:56:
source/blender/python/api2_2x/constant.h:41: error: syntax error before "constant_Type"
At this point I've just gone back and installed the 2.36 version using apt, but I'm still puzzled why this is happening.


Posted: Thu Jul 20, 2006 6:41 am
by kidb
ScarecrowPA wrote: source/blender/python/BPY_interface.c:34:20: Python.h: No such file or directory
apt-file search Python.h

Posted: Thu Jul 20, 2006 8:40 am
by renderedbrian
I had the same error on my 64bit ubuntu 6.06 box.

You need to install python-dev with

apt-get install python-dev

Blender then compiles OK with scons.



Posted: Fri Jul 21, 2006 4:20 am
by ScarecrowPA
Thanks Brian,

It looks like that was the cause of the first error, although in my case I needed to install python2.4-dev. Unfortunately, scons is still failing with errors. Now the first occurrence of "error" in the log (in context) is:

Code: Select all

ar: creating /usr/src/build/linux2/lib/libbf_ftfont.a
[94mCompiling[0m ==> '[92mopenexr_api.cpp'[0m
source/blender/imbuf/intern/openexr/openexr_api.cpp:66:26: OpenEXR/half.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:67:32: OpenEXR/ImfVersion.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:68:30: OpenEXR/ImathBox.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:69:30: OpenEXR/ImfArray.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:70:27: OpenEXR/ImfIO.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:71:36: OpenEXR/ImfChannelList.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:72:34: OpenEXR/ImfPixelType.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:73:34: OpenEXR/ImfInputFile.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:74:35: OpenEXR/ImfOutputFile.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:75:36: OpenEXR/ImfCompression.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:76:45: OpenEXR/ImfCompressionAttribute.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:77:40: OpenEXR/ImfStringAttribute.h: No such file or directory
source/blender/imbuf/intern/openexr/openexr_api.cpp:80: error: namespace `Imf' 
source/blender/imbuf/intern/openexr/openexr_api.cpp:81: error: namespace `Imath
   ' undeclared
source/blender/imbuf/intern/openexr/openexr_api.cpp:84: error: parse error 
Again I'm assuming a missing dependency, possibly one I could safely eliminate with an appropriate compile flag assuming it's for a feature I'm not using.

To follow up on a previous part of this thread -- the errors I receive with the older Blender version which installs from apt: interactive blender seems to work correctly, however if I attempt to render a single frame in the background from the command-line I receive ATAPI sense errors. Since ultimately the installation in question will only be used as a slave in a renderfarm, command line function is my main concern. For some reason blender is trying to access a CD-ROM which doesn't work. Installing a working CD drive eliminates that error, however there is no reason to be looking for the CD drive in the first place (and no reason to waste a working CD in that box--it works just fine with no monitor, keyboard or mouse ... ). Also, using DrQueue rendering from multiple slaves the rendered frames from the Debian install are significantly different from the same frame rendered by the OSX slave. I am assuming that at least some of the differences are due to the blender version difference between the slaves (source file was created and packed with Blender 2.42 on the Mac, the debian apt-get install is 2.36). This is a big part of why it is important for me to sucessfully compile the latest blender on the Debian box. I don't think this is a DrQueue issue, since I tested by rendering single frames directly with Blender from each client.

Again, any help is appreciated.


Posted: Fri Jul 21, 2006 4:53 pm
by SirDude
Thats OpenEXR as you can tell from reading the errors.

You'll need to download it and install it and or point your build to the correct place, if its already installed on your system.

Posted: Sat Jul 22, 2006 4:36 pm
by BIGtrouble77
I'm using ubuntu, but the packages may still be the same, or very similar. Here's what I had to install after a clean dapper install:
  • sudo apt-get install nvidia-glx-dev
    sudo apt-get install libjpeg62-dev
    sudo apt-get install libtiff4-dev
    sudo apt-get install python-dev
    sudo apt-get install libsdl1.2-dev
    sudo apt-get install libopenexr-dev
Depending on what graphics solution your using, your glx library will vary. So don't install the nvidia glx if you have an ati card.

Posted: Sun Jul 23, 2006 12:37 am
by ScarecrowPA
Thanks, I should have spotted the EXR issue myself - that's what I get for posting when I'm frustrated and tired.

I now get a sucessful build, and then I had to putz around with and do an ldconfig -v to find all the libraries ... so I FINALLY have the latest & greatest blender built by hand with only the finest, natural ingredients.

Thanks again to everyone for your help and suggestions.