Re: pyilmbase problems importing imath

Piotr Stanczyk <[email protected]>
Newsgroups gmane.comp.video.openexr.devel
Message-ID <CALVgk2p2QFRbBOTZE=+hS8OqpZpK+yn4vb6xdNx+bYNRSeEmjA@mail.gmail.com>
Yes, let's take a look at that.


On Thursday, February 13, 2014, Federico Naum <[email protected]> wrote:

>  Thanks Piotr,
>
> That confirms that I have something else wrong..
> I tried also with gcc446, and both gcc combination with pyilmbase 2.0.1
> against version 2.1.0 of ilmbase and I still have the same issue.
>
> Regarding what Nick pointed out about the visibility on linux, but It
>
> #else   // linux/macos
> #  if defined(PLATFORM_VISIBILITY_AVAILABLE)
> #    define IEX_EXPORT_DEFINITION __attribute__((visibility("default")))
> #    define IEX_IMPORT_DEFINITION
> #  else
> #    define IEX_EXPORT_DEFINITION
> #    define IEX_IMPORT_DEFINITION
>
> I don't see the -fvisibility=hidden flag passed into the compiled lines,so I assume that all symbols are by defualt, I try defining
> PLATFORM_VISIBILITY_AVAILABLE but I see no change...
>
> and I can see the symbols are visible . i.e
>
> >* nm -CS libIex-2_1.so.11 | grep BaseExc*
> 0000000000015df0 0000000000000275 T
> Iex_2_1::BaseExc::append(std::basic_stringstream<char,
> std::char_traits<char>, std::allocator<char> >&)
> 0000000000015430 00000000000000af T
> Iex_2_1::BaseExc::assign(std::basic_stringstream<char,
> std::char_traits<char>, std::allocator<char> >&)
> 0000000000015850 00000000000000e2 T Iex_2_1::BaseExc::BaseExc(char const*)
> 0000000000015c70 00000000000000ba T
> Iex_2_1::BaseExc::BaseExc(Iex_2_1::BaseExc const&)
> 00000000000156b0 00000000000000ce T Iex_2_1::BaseExc::BaseExc(std::string
> const&)
> 0000000000015350 00000000000000d7 T
> Iex_2_1::BaseExc::BaseExc(std::basic_stringstream<char,
> std::char_traits<char>, std::allocator<char> >&)
> 00000000000154e0 00000000000000e2 T Iex_2_1::BaseExc::BaseExc(char const*)
> 0000000000015d30 00000000000000ba T
> Iex_2_1::BaseExc::BaseExc(Iex_2_1::BaseExc const&)
> 0000000000015780 00000000000000ce T Iex_2_1::BaseExc::BaseExc(std::string
> const&)
> 00000000000155d0 00000000000000d7 T
> Iex_2_1::BaseExc::BaseExc(std::basic_stringstream<char,
> std::char_traits<char>, std::allocator<char> >&)
> 0000000000015940 0000000000000110 T Iex_2_1::BaseExc::~BaseExc()
> 0000000000015a50 0000000000000108 T Iex_2_1::BaseExc::~BaseExc()
> 0000000000015b60 0000000000000108 T Iex_2_1::BaseExc::~BaseExc()
> 0000000000015340 0000000000000005 T Iex_2_1::BaseExc::what() const
> 000000000021cd80 0000000000000038 V typeinfo for Iex_2_1::BaseExc
> 00000000000172e0 0000000000000013 V typeinfo name for Iex_2_1::BaseExc
> 000000000021cd40 0000000000000028 V vtable for Iex_2_1::BaseExc
>
> > *nm -CS libIex-2_1.so.11 | grep throwErrnoExc*
> 0000000000013420 0000000000000014 T Iex_2_1::throwErrnoExc(std::string
> const&)
> 0000000000011730 0000000000001ce2 T Iex_2_1::throwErrnoExc(std::string
> const&, int)
> 0000000000013440 00000000000000b2 T Iex_2_1::throwErrnoExc()
>
>
> so not sure what to try.... I'll grab something else tomorrow to continue
> with the investigation.
> would it help if I post the output of the configure of both ilmase and
> pyilmbase? maybe you can spot something that I am missing
> F
>
>
> On 13/02/14 13:41, Piotr Stanczyk wrote:
>
> I see, thanks for the qualification. I have built with gcc4.4.6 all the
> way up to 4.7.x so not sure that is the issue.  I think boost 1.5.1 is good
> for the later releases, certainly 2.x, but again, we built 1.x versions
> with 1.39 for quite a few years without any issues.
>
>  I'm not sure why you would be seeing this linux as is...
>
> Piotr
>
>
> On 12 February 2014 15:32, Federico Naum <[email protected]> wrote:
>
>  Hi Piotr,
>
> I think this is more related to what Nick is pointing out (but I'm on
> Linux not in Windows)
>
> Regarding the lines with NAMESPACE that I put in the post, I  mix them,
> but just to stress that I'm seeing the same problem either with version 1.X
> and version 2.X of both ilmbase and pylmbase
>
> On verison 1.X there was no namespaces code around that piece of code and
> I'm still seeing the same issue. (crash in the same line)
> But, I don't know what to try, so I'll give it a go to ilmbase 2.1.0, and
> I'll report back
>
> Thanks
> Fede
>
>
>
> On 13/02/14 05:33, Piotr Stanczyk wrote:
>
> 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 <[email protected]> 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
>
>

_______________________________________________
Openexr-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/openexr-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.