google-code-export / cortex-vfx

Automatically exported from code.google.com/p/cortex-vfx
0 stars 0 forks source link

Error in IECoreMaya.cpp #48

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.build all required libraries as best as possible on Fedora Core 16 and 
install them to separate directories under /opt so that they don't destroy 
Fedora which uses newer versions of those libraries (which some of the code is 
incompatible with, but I can't say which because I had to reinstall Fedora 
several times afterwords and lost all that data...)
2.tweak sconstruct and write a bash script to setup environment
3. run bash script in terminal to build Cortex

What is the expected output? What do you see instead?
IECoreMaya.so should be built, but build fails at:
"BOOST_STATIC_ASSERT(sizeof(Py_UNICODE) == 4);"

"src/IECoreMaya/bindings/IECoreMaya.cpp:104:1: error: invalid application of 
'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' 
src/IECoreMaya/bindings/IECoreMaya.cpp:104:1: error: template argument 1 is 
invalid
src/IECoreMaya/bindings/IECoreMaya.cpp:104:45: error: invalid type in 
declaration before ';' token
/opt/boost/include/boost/system/error_code.hpp:214:36: warning: 
'boost::system::posix_category' defined but not used [-Wunused-variable]
/opt/boost/include/boost/system/error_code.hpp:215:36: warning: 
'boost::system::errno_ecat' defined but not used [-Wunused-variable]
/opt/boost/include/boost/system/error_code.hpp:216:36: warning: 
'boost::system::native_ecat' defined but not used [-Wunused-variable]
scons: *** [src/IECoreMaya/bindings/IECoreMaya.os] Error 1
scons: building terminated because of errors."
What version of the product are you using? On what operating system?
Cortex 6.0.0 on Fedora Core 16 x86_64

Please provide any additional information below.

Original issue reported on code.google.com by notanymike on 31 Mar 2012 at 1:20

Attachments:

GoogleCodeExporter commented 9 years ago
The problem is that Python can be compiled in a couple of ways, affecting how 
Unicode strings are handled in Python. Cortex will happily deal with either 
way, but Maya uses a Python with Py_UNICODE==4. For that reason we put a check 
in the code that ensures that when you're building IECoreMaya, you're building 
against a suitable Python (one that matches Maya). You can either a) Point the 
Sconstruct inside the Maya installation to find python, or build python 
yourself passing "--enable-unicode=ucs4" to the configure command.

Original comment by thehaddo...@gmail.com on 31 Mar 2012 at 10:32