[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Openexr-devel] Fail to link at runtime on Kubuntu 13.04,
Charles Flèche <=