openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] Fail to link at runtime on Kubuntu 13.04


From: Charles Flèche
Subject: [Openexr-devel] Fail to link at runtime on Kubuntu 13.04
Date: Wed, 21 Aug 2013 23:27:55 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]