[libvirt] [PATCH] Fix DSO linking problem for nodeinfotest

Daniel P. Berrange berrange at redhat.com
Thu Feb 18 10:20:47 UTC 2010


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@@GLIBC_2.1'
> /usr/bin/ld: note: 'dlopen@@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 :|




More information about the libvir-list mailing list