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

Daniel Veillard veillard at redhat.com
Thu Feb 18 13:39:59 UTC 2010


On Thu, Feb 18, 2010 at 10:20:47AM +0000, Daniel P. Berrange wrote:
> 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

  Well, surprizingly nodeinfotest is the only binary exhibiting the
build failure, so there must be something else going on ...

> 
> NB, we also need to adjust the configure.ac check 

  Well we have the check but only for the driver_modules options.
I assume you mean doing this check unconditionally and export some
autoconf variable holding the -ldl flag.

 I will rework the patch accordingly,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list