Python3.3 build error

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Python3.3 build error

Postby mikevan » Thu Nov 08, 2012 12:39 am

Python3.3 has split its .h files between two locations in the include directory. Unfortunately, SVN can only see one of them. As such, even tho the file exists, just not where SVN Blender expects it, the compile fails. I really don't want to tweak my python environment just to compile SVN - this is something that should be fixed in Blender. Using Ubuntustudio 12.10. Has anyone tweaked a fix? I'd like to get SVN compiling again.

Code: Select all

/usr/include/python3.3m/Python.h:8:22: fatal error: pyconfig.h: No such file or directory
compilation terminated.

stiv
Posts: 3646
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Postby stiv » Thu Nov 08, 2012 1:58 am

Where is the 'other' location?

I installed Python 3.3 from source and got both Python.h and pyconfig.h in /usr/include/python3.3m .

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Postby mikevan » Thu Nov 08, 2012 5:04 pm

Depends on platform. i386 puts pyconfig.h in

Code: Select all

/usr/include/i386-linux-gnu/python3.3m/pyconfig.h


amd64 puts pyconfig.h in:

Code: Select all

/usr/include/x86_64-linux-gnu/python3.3m/pyconfig.h


Was really perplexing. On my work system which is i386 and using Ubuntustudio 12.04 I compiled Python3.3 to /opt/py33 and it's working fine now. I don't have CUDA at work tho - that's on my home system which I upgraded to 12.10 thinking Python3.3 was part of the install - which it's not sadly. Had to hunt down debs for that but then ran into Debian splitting off pyconfig.h into another include directory. I ended up compiling Python3.3 to /opt/py33 at home and building Blender with scons went mostly through, but other things caused the compile to fail there - something in the Blender supplied boost libraries. Will update SVN again tonight and see if that was just a normal SVN glitch. Am tempted to reload Ubuntustudio 12.04, however. 12.10 is a bit buggy at the moment.

Have no idea why Debian is splitting off pyconfig.h like that, tho.

stiv
Posts: 3646
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Postby stiv » Thu Nov 08, 2012 8:04 pm

Have no idea why Debian is splitting off pyconfig.h like that, tho.


Very strange, indeed. Compiler specific files are often split off like that, but this is unusual for regular includes I wonder what the rationalization is?

Problems compiling SVN are often fixed in a day or so.

If you need immediate help, you can always check in on the #blendercoders IRC channel on freenode.net .

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Postby mikevan » Thu Nov 08, 2012 9:55 pm

stiv wrote:
Have no idea why Debian is splitting off pyconfig.h like that, tho.


Very strange, indeed. Compiler specific files are often split off like that, but this is unusual for regular includes I wonder what the rationalization is?

Problems compiling SVN are often fixed in a day or so.

If you need immediate help, you can always check in on the #blendercoders IRC channel on freenode.net .


CUDA is a gcc issue - had to link gcc-4.6 so it would compile. Ubuntu 12.10 defaults to 4.7 now. I wonder when Nvidia will release one that will work with 4.7. It stopped giving me errors while compiling CUDA since linking gcc 4.6.

Compile is still cratering with the Blender's boost library tho. Ubuntustudio 12.10 is becoming more of a hassle than it's worth... I feel like I'm in uncharted territory. I only upgraded from 12.04 because I thought that 12.10 had Python3.3.

stiv
Posts: 3646
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Postby stiv » Thu Nov 08, 2012 11:12 pm

Python is happy with multiple versions installed on the same box. A helpful trick for installing from source (www.python.org) is to do "make altinstall" rather than the usual "make install" as part of the usual configure; make; make install; dance. This installs your version of python into whatever --prefix directory you set, but does NOT change any symlinks so the python package your distro installed is not affected.

Note: distros usually install to /usr. Python, if not told otherwise via "configure --prefix..." installs to /usr/local

mikevan
Posts: 26
Joined: Thu Oct 21, 2010 9:40 pm

Postby mikevan » Thu Nov 08, 2012 11:27 pm

stiv wrote:Python is happy with multiple versions installed on the same box. A helpful trick for installing from source (www.python.org) is to do "make altinstall" rather than the usual "make install" as part of the usual configure; make; make install; dance. This installs your version of python into whatever --prefix directory you set, but does NOT change any symlinks so the python package your distro installed is not affected.

Note: distros usually install to /usr. Python, if not told otherwise via "configure --prefix..." installs to /usr/local


I tried the altinstall but ran into issues with scons requiring Python2 and tho I could have figured that out in time, I just deleted that and installed it into /opt/py22 instead. I still have the distro's Python3.3 installed but it's largely useless for my Blender needs and I've altered the user-config.py to reflect the /opt/py22 location for build instead. That part now works.

CUDA even compiles without error now that I've linked the correct compiler. Now my new challenge is figuring out why it's cratering on the SVN boost when linking CUDA. Difference in compilers perhaps? Need to dig into the error messages when I get more time... Guess I should start a new thread for that... :)


Return to “Coding Blender”

Who is online

Users browsing this forum: No registered users and 2 guests