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