[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
relinking and cross-compiling
From: |
Simon Richter |
Subject: |
relinking and cross-compiling |
Date: |
Mon, 22 Mar 2010 12:36:41 +0100 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
Hi,
I'm using libtool in a project that builds a few shared libraries, a
main program and plugins to the program, all in the same source package.
I've made Debian style packages from my source tree, which requires
installation into DESTDIR to work.
In the native case, this works:
/bin/sh ../libtool --mode=install /usr/bin/install -c interfaces.la
'/srv/repo/build/sid/sge_0.0.20100322-1_amd64/debian/tmp/usr/lib/sge/backend'
libtool: install: warning: relinking `interfaces.la'
libtool: install: (cd /srv/repo/build/sid/sge_0.0.20100322-1_amd64/interfaces;
/bin/sh /srv/repo/build/sid/sge_0.0.20100322-1_amd64/libtool --tag CXX
--mode=relink x86_64-linux-gnu-g++ -g -O2 -fvisibility=hidden -module
-avoid-version -no-undefined -o interfaces.la -rpath /usr/lib/sge/backend
linux_network_service.lo plugin.lo network_service.lo ../libsge-agent.la
-llazybox -inst-prefix-dir
/srv/repo/build/sid/sge_0.0.20100322-1_amd64/debian/tmp)
libtool: relink: x86_64-linux-gnu-g++ -shared -nostdlib
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtbeginS.o .libs/linux_network_service.o
.libs/plugin.o .libs/network_service.o
-L/srv/repo/build/sid/sge_0.0.20100322-1_amd64/debian/tmp/usr/lib -L/usr/lib
-lsge-agent -llazybox -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2
-L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib -L/lib/../lib
-L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../.. -lstdc++ -lm
-lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crtn.o -Wl,-soname
-Wl,interfaces.so -o .libs/interfaces.so
libtool: install: /usr/bin/install -c .libs/interfaces.soT
/srv/repo/build/sid/sge_0.0.20100322-1_amd64/debian/tmp/usr/lib/sge/backend/interfaces.so
However, cross compiled packages fail here:
/bin/sh ../libtool --mode=install /usr/bin/install -c interfaces.la
'/srv/repo/build/sid/sge_0.0.20100322-1_armel/debian/tmp/usr/lib/sge/backend'
libtool: install: warning: relinking `interfaces.la'
libtool: install: (cd /srv/repo/build/sid/sge_0.0.20100322-1_armel/interfaces;
/bin/sh /srv/repo/build/sid/sge_0.0.20100322-1_armel/libtool --tag CXX
--mode=relink arm-linux-gnueabi-g++ -g -O2 -fvisibility=hidden -module
-avoid-version -no-undefined -o interfaces.la -rpath /usr/lib/sge/backend
linux_network_service.lo plugin.lo network_service.lo ../libsge-agent.la
-llazybox -inst-prefix-dir
/srv/repo/build/sid/sge_0.0.20100322-1_armel/debian/tmp)
libtool: relink: arm-linux-gnueabi-g++ -shared -nostdlib
/usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/lib/crti.o
/usr/lib/gcc/arm-linux-gnueabi/4.3.2/crtbeginS.o .libs/linux_network_service.o
.libs/plugin.o .libs/network_service.o -Wl,-rpath
-Wl,/usr/arm-linux-gnueabi/lib
-L/srv/repo/build/sid/sge_0.0.20100322-1_armel/debian/tmp/usr/lib -L/usr/lib
-lsge-agent
-L/srv/repo/build/sid/sge_0.0.20100322-1_armel/debian/tmp/usr/arm-linux-gnueabi/lib
-L/usr/arm-linux-gnueabi/lib -llazybox -L/usr/lib/gcc/arm-linux-gnueabi/4.3.2
-L/usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/lib
-lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/arm-linux-gnueabi/4.3.2/crtendS.o
/usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/lib/crtn.o
-Wl,-soname -Wl,interfaces.so -o .libs/interfaces.so
/usr/lib/liblazybox.so: file not recognized: File format not recognized
collect2: ld returned 1 exit status
The problem here appears to be the "-L/usr/lib", which I suspect comes
from $libdir. I'm not sure the "installed" $libdir should ever be
searched for libraries, unless it also happens to be in the compiler's
default path (which it is in the native case).
If the "-L/usr/lib" is omitted, relinking works (the proper
liblazybox.so is then found in /usr/arm-linux-gnueabi/lib).
I can work around the problem by splitting the package, compiling the
libraries separately and installing them before building the plugins (in
this case, no relinking step is necessary).
Simon
signature.asc
Description: Digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- relinking and cross-compiling,
Simon Richter <=