[libvirt] "make rpm" failure?

Justin Clift jclift at redhat.com
Fri Jul 30 11:11:55 UTC 2010


Hi Eric,

Have you tried a "make rpm" with libvirt git head since your recent 
"build: fix VPATH builds" commit?

   commit 4018a026b2b4b50bfc5e4c35dabb828ebf6cc3f7
   Author: Eric Blake <eblake at redhat.com>
   Date:   Mon Jul 26 10:38:30 2010 -0600

       build: fix VPATH builds

       After the recent libvirt-qemu library addition, VPATH builds fail
   ...

The commit comment indicates it should fix an error where ld can't find 
"libvirt_qemu.syms".  I'm still getting that the error though:

   $ make rpm
   ...
     CCLD   libvirt-qemu.la
   /usr/bin/ld: cannot open linker script file ./libvirt_qemu.syms: No 
such file or directory
   collect2: ld returned 1 exit status
   make[4]: *** [libvirt-qemu.la] Error 1
   make[4]: *** Waiting for unfinished jobs....
   make[4]: Leaving directory `/home/jc/rpmbuild/BUILD/libvirt-0.8.2/src'
   make[3]: *** [all] Error 2
   make[3]: Leaving directory `/home/jc/rpmbuild/BUILD/libvirt-0.8.2/src'
   make[2]: *** [all-recursive] Error 1
   make[2]: Leaving directory `/home/jc/rpmbuild/BUILD/libvirt-0.8.2'
  make[1]: *** [all] Error 2
   make[1]: Leaving directory `/home/jc/rpmbuild/BUILD/libvirt-0.8.2'
   error: Bad exit status from /var/tmp/rpm-tmp.xiUlH6 (%build)

In configure.ac, where it's defined as:

   LIBVIRT_QEMU_SYMBOL_FILE='$(srcdir)/libvirt_qemu.syms'

The $srcdir seems to be getting turned into a ".", so that this happens:

   [jc at host1 libvirt]$ grep -r "libvirt_qemu.syms" .
   ./gnulib/lib/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./gnulib/tests/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./src/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./tests/xencapsdata/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = 
./libvirt_qemu.syms
   ./tests/xml2sexprdata/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = 
./libvirt_qemu.syms
   ./tests/sexpr2xmldata/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = 
./libvirt_qemu.syms
   ./tests/xmconfigdata/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = 
./libvirt_qemu.syms
   ./tests/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./tests/confdata/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./include/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./include/libvirt/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./proxy/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms
   ./python/tests/Makefile:LIBVIRT_QEMU_SYMBOL_FILE = ./libvirt_qemu.syms

It looks like the $srcdir needs to be resolved to an absolute path, 
rather than a relative one, but I have no idea how in autoconf stuff. 
Any ideas off the top of your head? :)

Regards and best wishes,

Justin Clift




More information about the libvir-list mailing list