On Wed, Feb 17, 2010 at 04:37:17PM +0100, Daniel Veillard wrote:
Following changes in Fedora about exposing shared libraries
dependancies, libvirt built failed for one of the test binaries
because it didn't explicitely required -ldl
gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib
-I../include -I../include -I../src -I../src/util -I../src/conf
-I/usr/include/libxml2 -DGETTEXT_PACKAGE=\"libvirt\" -Wall
-Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings
-Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls
-Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fasynchronous-unwind-tables -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom
-fasynchronous-unwind-tables -c nodeinfotest.c
CCLD nodeinfotest
/usr/bin/ld:
../src/.libs/libvirt_test.a(libvirt_driver_vbox_la-vbox_XPCOMCGlue.o):
undefined reference to symbol 'dlopen@(a)GLIBC_2.1'
/usr/bin/ld: note: 'dlopen@(a)GLIBC_2.1' is defined in DSO /lib/libdl.so.2
so try adding it to the linker command line
/lib/libdl.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
the following patch fixes it,
This isn't corect. nodeinfotest isn't the thing that is ultimately
using libdl. The place we need it is in src/Makefile.am against
libvirt_driver_vbox_la_LDFLAGS
NB, we also need to adjust the configure.ac check
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|