Hi everyone,

I'm trying to compile and run the python tests from the git source. Both master (34f5447054) and develop (29c18ed125) branches fail.

When I run "python pyIexTest", I get a undefined symbol error Iex_2_0::BaseExc::what() const. After running ldd against .libs/iexmodule.so, it seems that iexmodule.so doesn't link against libPyIex.so.2

The link step clearly shows that libIex is not linked :

libtool: relink: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o .libs/iexmodule.o -Wl,-rpath -Wl,/home/charles/src/openexr/lib -L/usr/lib -L/home/charles/src/openexr/lib -lPyIex -lboost_python -lpython2.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o -O2 -pthread -Wl,-soname -Wl,iexmodule.so -o .libs/iexmodule.so

I can compile and run pyIexTest from the official 2.0.1 tarballs on the same machine. With this code base, the link step of iexmodule.so includes -lIex and ldd iexmodules.so shows a dependency to libIex.so

I've tracked down the problem to the PyIex Makefile line 391 :
$(iexmodule_la_LINK) -rpath $(pyexecdir) $(iexmodule_la_OBJECTS) $(iexmodule_la_LIBADD) $(LIBS)

This line is exactly the same in both git and the official tarballs. I've checked the values of the variables $(iexmodule_la_LINK), $(pyexecdir), $(iexmodule_la_OBJECTS), $(iexmodule_la_LIBADD) and $(LIBS), there are the same in both case. However they yield a different g++ command.

Could it be a problem with the libtool / autoconf version ?

My versions :
libtool 2.4.2-1.2ubuntu1
autoconf : 2.69-1ubuntu1

and just in case :
boost : 1.53

Just to make sure I'm following the recommended steps, after a git clone I run bootstrap, then set LD_LIBRARY_PATH and PKG_CONFIG_PATH to the relevant paths (subdirs of my prefix), then ./configure --prefix=my_prefix, make, make install

Does someone else has the same problem ? I may miss something really obvious...

Many thanks,

Charles

_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel

Reply via email to