Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

problem building 9.0.0.b5 with houdini 14.0.201.13 #416

Open
hradec opened this issue Apr 16, 2015 · 8 comments
Open

problem building 9.0.0.b5 with houdini 14.0.201.13 #416

hradec opened this issue Apr 16, 2015 · 8 comments

Comments

@hradec
Copy link

hradec commented Apr 16, 2015

I'm getting this error:
include/IECoreHoudini/GU_CortexPrimitive.h:52: error: expected class-name before '{' token
include/IECoreHoudini/GU_CortexPrimitive.h:90: error: 'convert' declared as a 'virtual' field
include/IECoreHoudini/GU_CortexPrimitive.h:90: error: expected ';' before '(' token
include/IECoreHoudini/GU_CortexPrimitive.h:91: error: 'convertNew' declared as a 'virtual' field
include/IECoreHoudini/GU_CortexPrimitive.h:91: error: expected ';' before '(' token
include/IECoreHoudini/GU_CortexPrimitive.h:109: error: expected ';' before '(' token
scons: *** [src/IECoreHoudini/FromHoudiniCompoundObjectConverter.os] Error 1

when building against houdini 14.0.201.13. Have you guys tested building with houdini 14 before?
cheers...
-H

@andrewkaufman
Copy link
Member

No, IECoreHoudini does not work with Houdini 14 yet. It's on our list todo, but we haven't gotten there due to production deadlines.

Sorry,
Andrew

@hradec
Copy link
Author

hradec commented Feb 25, 2016

Is the latest 9.7.1 working with houdini 14? I'm still getting error:

error: no matching function for call to 'sort(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, IECoreHoudini::FromHoudiniGeometryConverter::extractStringVectorData(const GA_Attribute*, const GA_Range&, IECore::IntVectorDataPtr&) const::Comparator)'

same version!

@andrewkaufman
Copy link
Member

Hmm, we're definitely using it on H15 and we have used several other versions of Cortex 9 on H14...

We're using the linux gcc 4.8 distro of Houdini (houdini-15.0.347-linux_x86_64_gcc4.8.tar.gz) although we do compile Cortex with our own install of gcc 4.8.3 (because 4.8.2 has a severe bug). All this is on CentOS 7 if that matters for some reason.

What platform and compiler are you using?

@andrewkaufman
Copy link
Member

We do also set a bunch of CXX flags in our options file, rather than in the SConstruct:

https://github.com/ImageEngine/cortex/blob/master/config/ie/options#L328

Are you setting any/all of these? Maybe its a case of some of those need moving to the SConstruct because they're actually required for all compilers when building for Houdini?

@hradec
Copy link
Author

hradec commented Feb 25, 2016

We're using gcc 4.1.2 still for 90% of our libraries, including cortex. We only use 4.5 for OIIO, OCIO and OSL since Sony completely dropped support for earlier versions.

I'll double check our gcc options against yours... thanks for that tip!!

@andrewkaufman
Copy link
Member

Houdini 14 and 15 also dropped support for earlier versions, so its all 4.8 from here on out with Houdini.

@hradec
Copy link
Author

hradec commented Feb 26, 2016

After checking the flags, it seems gcc 4.1.2 doesn't like -std=c++11 flag. Apart from that, we're using the same ones.

After some digging, I was able to correctly build by declaring the Comparator struct outside the FromHoudiniGeometryConverter::extractStringVectorData() method in cortex/9.7.1/src/IECoreHoudini/FromHoudiniGeometryConverter.cpp.

gcc 4.1.2 std::sort really doesn't like if the comparator function is not static, apparently.

@andrewkaufman
Copy link
Member

Do you want to put up a pull request, and I'll see if it compiles happily for us here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants