Hey -

How did you build IlmBase? Pre- 2.1.0 releases had a bug when building with
custom namespaces

Piotr



On 11 February 2014 23:50, Federico Naum <federi...@al.com.au> wrote:

>  Hi
>
> Hope this is the forum to ask.
>
> I'm building pyilmbase 1.0.0  under llinux Centos 6.2, with ilmbase
> 1.0.3,  gcc4.1.2 and boost 1.44.0 (also tried all combinations of the newer
> version of pyilmbase 2.0.0/1 against ilmbase 2.0 with newer compiler
> gcc446, and several flavours boost.
>
> In all cases I can build  successfully and import *iex *just fine, but
> importing *imath* does SegFault, it does crashed on line 241 of PyIex.h
>
> 240│     const TypeTranslator<IEX_NAMESPACE::BaseExc>::ClassDesc *baseDesc
> = baseExcTranslator().template
> findClassDesc<ExcBase>(baseExcTranslator().firstClassDesc());
> *241├>    std::string baseName = baseDesc->typeName();*
> 242│     std::string baseModule = baseDesc->moduleName();
>
> *baseDesc* ends up with a nullPointer (const
> PyIex::TypeTranslator<Iex_2_0::BaseExc>::ClassDesc *) 0x0
>
>
> As importing *iex* works fine, I changed the code in imathmodule.cpp to
> kind of copy how the Exception gets registered.
>
> <
> PyIex::registerExc<Imath::NullVecExc,Iex::MathExc>("NullVecExc","imath");
> <
> PyIex::registerExc<Imath::NullQuatExc,Iex::MathExc>("NullQuatExc","imath");
> <
> PyIex::registerExc<Imath::SingMatrixExc,Iex::MathExc>("SingMatrixExc","imath");
> <
> PyIex::registerExc<Imath::ZeroScaleExc,Iex::MathExc>("ZeroScaleExc","imath");
> <
> PyIex::registerExc<Imath::IntVecNormalizeExc,Iex::MathExc>("IntVecNormalizeExc","imath");
> ---
> >
> PyIex::registerExc<Imath::NullVecExc,Iex::BaseExc>("NullVecExc","iex");
> >
> PyIex::registerExc<Imath::NullQuatExc,Iex::BaseExc>("NullQuatExc","iex");
> >
> PyIex::registerExc<Imath::SingMatrixExc,Iex::BaseExc>("SingMatrixExc","iex");
> >
> PyIex::registerExc<Imath::ZeroScaleExc,Iex::BaseExc>("ZeroScaleExc","iex");
> >
> PyIex::registerExc<Imath::IntVecNormalizeExc,Iex::BaseExc>("IntVecNormalizeExc","iex");
>
> This way I can import *imath,* and in python land I can see that the
> *imath* module contains the registered exceptions and I can
> raise/try/catch them. but this code change seems fishy since nothing else
> seems to have reported and the code in the latest version remains the same.
>
> I saw someone else did the same change (back in 2012)
> https://groups.google.com/forum/#!searchin/alembic-discussion/Cannot$20build$20windows/alembic-discussion/OMOvhg0Nv7o/VnJRrByVv10J
>
> but I'm pretty sure I am missing something more obvious
>
> also it caught my attention that I get this warning on gdb
>
> *PyIex::TypeTranslator<Iex_2_0::BaseExc>::findClassDesc<Iex_2_0::MathExc>
> (this=0x6e6510, cd=0x6eaa00) at
> /scratch/federicon/git/rezExternalPackages/pyilmbase/2.0.0/build/2/pyilmbase-prefix/src/pyilmbase/PyIex/Py*
> *IexTypeTranslator.h:262*
> *(gdb) print cd->typeInfo()*
> *warning: RTTI symbol not found for class
> 'PyIex::TypeTranslator<Iex_2_0::BaseExc>::ClassDescT<Iex_2_0::BaseExc>'*
>
> could it be related to the realtime type info? I made sure that ilmbase
> and pyilmbase were compiled wihout the -fno-rtti so it should be on by
> default
>
> Hope someone can help me find the issue
>
> Thanks in advance
> Fede
>
>
>
> _______________________________________________
> Openexr-devel mailing list
> Openexr-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/openexr-devel
>
>
_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel

Reply via email to