From: soulxu <soulxu@soulxu-ThinkPad-T410.(none)>

When I compile libvirt with gcc-4.6.1 in ubuntu 11.10, got error as below:

  CCLD   libvirtd
/usr/bin/ld: 
../src/.libs/libvirt_driver_qemu.a(libvirt_driver_qemu_la-qemu_migration.o): 
undefined reference to symbol 'gnutls_x509_crt_get_dn@@GNUTLS_1_4'
/usr/bin/ld: note: 'gnutls_x509_crt_get_dn@@GNUTLS_1_4' is defined in DSO 
/usr/lib/x86_64-linux-gnu/libgnutls.so so try adding it to the linker command 
line
/usr/lib/x86_64-linux-gnu/libgnutls.so: could not read symbols: Invalid 
operation
collect2: ld returned 1 exit status
make[3]: *** [libvirtd] Error 1


It can compile with gcc-4.5.2 in ubuntu 11.04, but it can not compile with 
gcc-4.6.1 in ubuntu 11.10.

I didn't find reason. Does Anyone know the reason or the different between 
gcc-4.5.2 and gcc-4.6.1?

I still provide a patch for this. Just make it is working now.

Signed-off-by: soulxu <soulxu@soulxu-ThinkPad-T410.(none)>
---
 src/Makefile.am |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 87d91ed..104efc6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -776,10 +776,14 @@ noinst_LTLIBRARIES += libvirt_driver_qemu.la
 #libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
 endif
 libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \
+                                $(GNUTLS_CFLAGS) \
+                                $(LIBXML_CFLAGS) \
                -I@top_srcdir@/src/conf $(AM_CFLAGS)
 libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS)
 libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS) \
-                               $(CAPNG_LIBS)
+                               $(CAPNG_LIBS) \
+                                $(GNUTLS_LIBS) \
+                                $(LIBXML_LIBS)
 if WITH_DRIVER_MODULES
 libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
 libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
-- 
1.7.5.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to