New issue 48 by notanymike: Error in IECoreMaya.cpp
http://code.google.com/p/cortex-vfx/issues/detail?id=48
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.
Attachments:
SConstruct 90.7 KB
buildCortex.sh 637 bytes
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.
Thanks, that got it built. Now I have a problem with loading the plugin in
Maya again. It's saying:"undefined symbol: __glewGetUniformLocation"