Closed GoogleCodeExporter closed 8 years ago
I am seeing a similar error with Maya 2008
Sam
Original comment by sam.ho...@gmail.com
on 30 Sep 2010 at 2:33
exit() is a stdlib command. Can you try adding "#include <stdlib.h>" to
src/IECoreMaya/SystemExitCmd.cpp to see if that helps? Or try std::exit or
::exit.
It is known that Cortex doesn't currently build with Maya 2011, but not for
this reason. We don't have internal plans to revisit Maya 2011 until the new
year. If you do manage to get it running in 2011, we'd be happy to see the
patch.
As for Maya 2008, we dropped support for that version as of Cortex 5. You'll
either have to use a Cortex 4 distribution, or update to Maya 2009 or 2010. It
may be possible to patch cortex to work in Maya 2008, but I believe we are
using API functionality that isn't available until 2009.
Andrew
Original comment by andrewk....@gmail.com
on 30 Sep 2010 at 4:15
Thanks Andrew,
I've included the stdlib.h line but now there's an error in other place:
g++ -o src/IECoreMaya/bindings/FnParameterisedHolderBinding.os -c -pipe -Wall
-O2 -DNDEBUG -DBOOST_DISABLE_ASSERTS -fPIC -DIE_CORE_MAJORVERSION=5
-DIE_CORE_MINORVERSION=20 -DIE_CORE_PATCHVERSION=0 -I/usr/include/python2.6
-I/usr/include/python2.6 -DBOOST_PYTHON_MAX_ARITY=20 -D_BOOL -DREQUIRE_IOSTREAM
-I/usr/include/python2.6 -I/usr/include/python2.6 -DLINUX -Iinclude
-I/usr/include/tbb -I/usr/include/OpenEXR -I/usr/include/OpenEXR
-I/usr/include/OpenEXR/OpenEXR -I/usr/include/OpenEXR/OpenEXR -I/usr/include
-I/usr/local/include -I/usr/local/include -I/usr/local/include/freetype2
-I/usr/include/GL -I/usr/autodesk/maya2011-x64/include
src/IECoreMaya/bindings/FnParameterisedHolderBinding.cpp
src/IECoreMaya/bindings/FnParameterisedHolderBinding.cpp:141: error: 'void
IECoreMaya::parameterisedHolderAssignModificationState(IECore::ObjectPtr,
IECore::CompoundDataPtr, IECore::ObjectPtr, IECore::CompoundDataPtr)' should
have been declared inside 'IECoreMaya'
scons: *** [src/IECoreMaya/bindings/FnParameterisedHolderBinding.os] Error 1
scons: building terminated because of errors.
I just did the same thing as before with scons, so maybe I should take a closer
look again. I'll post here how it goes,
edgar
Original comment by eddga...@gmail.com
on 3 Oct 2010 at 10:40
It sounds as if you may be using a more recent version of gcc than we've tested
with - just out of interest what is the output of "g++ --version"?
Could you try replacing lines 141-147 of
IECoreMaya/bindings/FnParameterisedHolderBinding.cpp with the following :
namespace IECoreMaya
{
void parameterisedHolderAssignModificationState( IECore::ObjectPtr
originalValue, IECore::CompoundDataPtr originalClasses, IECore::ObjectPtr
newValue, IECore::CompoundDataPtr newClasses )
{
ParameterisedHolderModificationCmd::g_originalValue = originalValue;
ParameterisedHolderModificationCmd::g_originalClasses = originalClasses;
ParameterisedHolderModificationCmd::g_newValue = newValue;
ParameterisedHolderModificationCmd::g_newClasses = newClasses;
}
}
Original comment by thehaddo...@gmail.com
on 4 Oct 2010 at 3:47
Thanks! It's all compiled now. I still have to test everything and maybe
download Houdini Apprentice to build against that too. Will do that asap.
g++ (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839 by the way.
Original comment by eddga...@gmail.com
on 5 Oct 2010 at 3:05
Great - I've committed the changes to the trunk so they shouldn't be necessary
in the future. Please note though that we haven't thoroughly tested Cortex with
Maya 2011 and I believe there are unresolved issues there still. Also it can be
very important to build with the right compiler for your target application and
I'm not sure that 4.4.1 is the right gcc version (we use 4.1.2 for Maya 2010
and Houdini).
Original comment by john.ima...@gmail.com
on 5 Oct 2010 at 4:34
For the record I got pretty close with Maya 2008
The plugin compiled OK
BUT
on loading the plugin I got the following error:
// Error: Unable to dynamically load :
/home/samh/Development/cortex-vfx-read-only/plugins/maya/ieCore.so
/usr/autodesk/maya2008/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
(required by /usr/lib/libboost_regex.so.1.40.0) //
// Error: /usr/autodesk/maya2008/lib/libstdc++.so.6: version `GLIBCXX_3.4.9'
not found (required by /usr/lib/libboost_regex.so.1.40.0) //
// Error: /usr/autodesk/maya2008/lib/libstdc++.so.6: version `GLIBCXX_3.4.9'
not found (required by /usr/lib/libboost_regex.so.1.40.0) (ieCore) //
So it looks more like a mismatch between boost and maya's glibc rather than API
functionality as I would expect the API calls would prevent it from compiling
Which is a pity because this is just some stuff I am playing with at home and I
dont have any hardware which is 64 bit compatible with room to accept a Linux
install.
I believe that 2008 is the last version of 32 bit Linux Maya that Autodesk
released.
Nevermind
Sam
Original comment by sam.ho...@gmail.com
on 13 Oct 2010 at 4:15
This was also making both of the changes in comment 2 and comment 5
Sam
Original comment by sam.ho...@gmail.com
on 13 Oct 2010 at 4:16
I think the problem is most likely that you're building with gcc 4.4.1 - you
really need to build with gcc 4.1.2 for maya 2008 (this isn't a cortex
requirement but a maya one). That means building boost and openexr and tbb with
gcc 4.1.2 too - this is where developing for multiple vfx applications on linux
becomes a real pain.
Original comment by thehaddo...@gmail.com
on 13 Oct 2010 at 3:58
Just to comment that after compiling with suggested versions (and using gcc
4.1.2) everything was working. Some minor problems with libraries not found in
standard paths.
Possibly the maya dome builder example has to be updated since I'm getting:
# Error: ArgumentError: Python argument types in
Op.__init__(DomeBuilder, str, str, DAGPathParameter)
did not match C++ signature:
__init__(_object*, std::string description, IECore::IntrusivePtr<IECore::CompoundParameter> compoundParameter, IECore::IntrusivePtr<IECore::Parameter> resultParameter)
__init__(_object*, std::string description, IECore::IntrusivePtr<IECore::Parameter> resultParameter) #
when trying to execute, but the rest of the examples are fine. Or simply
there's still something wrong on my system :-)
Original comment by eddga...@gmail.com
on 5 Jan 2011 at 2:48
That example was not updated to Cortex 5. We've changed two things: the Ops
don't have the name parameter anymore on their constructor and the compound
objects cannot be indexed anymore using the dot syntax. Only square brackets is
accepted now.
Thanks for pointing that out!
Original comment by lucio.im...@gmail.com
on 5 Jan 2011 at 5:56
Original comment by john.ima...@gmail.com
on 26 Jan 2011 at 1:51
Quick status update on this. I've started looking into Maya 2011 support and
things don't look too bad at present.
The python unit tests are passing already.
The C++ tests pass but then segfault on shutdown. As far as I can tell this is
because we're not calling MLibrary::cleanup() and the license manager crashes
on exit because of that. Boost::test doesn't seem particularly helpful in terms
of allowing us to cleanup on shutdown so my current plan is to port the c++
tests to python - this will also mean adding bindings for the image converters
which will be a nice feature anyway.
The remaining problem I'm aware of is that the IECoreGL initialisation fails
during plugin load - I think we can fix this by deferring initialisation to the
point of use.
Original comment by thehaddo...@gmail.com
on 9 Feb 2011 at 12:24
Just a quick note to say that I've moved the C++ tests into python, which meant
adding a few new python bindings which will come in handy anyway. I've also
fixed another couple of problems and things seem to be running pretty well in
Maya 2011 right now. I've still only done limited testing, so won't resolve
this ticket just now, but if any interested parties want to take it for a spin
then now is not a bad time...
Original comment by thehaddo...@gmail.com
on 15 Feb 2011 at 7:13
Will do, thanks.
But before that, and maybe a bit off topic, which is the scons version I should
be using? Right now is 1.2 (engine & script) and I can't get coreRI library to
build without forcing "haveDelight = 1" and using "c.CheckFunc(
"SxGetParameter", "sx.h" )" instead of regular c.CheckCXXHeader( "sx.h" ) and
c.CheckFunc( "SxGetParameter" ) in line 1367 with 3delight 9.0.86
Original comment by eddga...@gmail.com
on 15 Feb 2011 at 8:22
We've updated to SCons 2.0.1, and the trunk builds fine with that. Before that
we were using an ancient 0.97 - I'm pretty sure that still works too. We've
never tried 1.2.
Original comment by thehaddo...@gmail.com
on 15 Feb 2011 at 9:31
[deleted comment]
[deleted comment]
This might be a stupid question, but have you loaded the ieCore plugin before
running the example? When you load the plugin do you get any errors in the
script editor?
Cheers...
John
Original comment by thehaddo...@gmail.com
on 27 Jun 2012 at 7:04
Thanks John, this did the trick.
Just want to crawl under a rock now, thought I had it on autoload.
Original comment by tak7yosh...@gmail.com
on 28 Jun 2012 at 4:37
Original comment by thehaddo...@gmail.com
on 17 Dec 2012 at 5:27
Original issue reported on code.google.com by
eddga...@gmail.com
on 20 Aug 2010 at 8:35