
Subject: Re: [libvirt] Problem compiling latest code from libvirt CVS
I am trying to build the latest libvirt checked out from CVS this morning, but I get an error message. I ran ./autostart, ./configure and
Fischer, Anna wrote: then make.
Any idea what the problem here could be?
I just did a CVS checkout and build which succeeded. I'm not sure what the ./autostart you refer to is. Did you mean autogen.sh?
Yes, sorry, that is what I meant!
The steps I used to get a successful build are:
cvs -d :pserver:anoncvs@libvirt.org:2401/data/cvs login cvs -d :pserver:anoncvs@libvirt.org:2401/data/cvs co libvirt cd libvirt/ ./autogen.sh make
Yep, I did exactly the same.
Can you try those in a temp directory to see if they work for you?
gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib - I../include -I../include -I../src -I/usr/include/libxml2 -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 -DLOCAL_STATE_DIR="\"/usr/local/var\"" - DSYSCONF_DIR="\"/usr/local/etc\"" -DQEMUD_PID_FILE="\"\"" - DREMOTE_PID_FILE="\"/usr/local/var/run/libvirtd.pid\"" - DGETTEXT_PACKAGE=\"libvirt\" -g -O2 -MT libvirtd-remote_protocol.o -MD -MP -MF .deps/libvirtd-remote_protocol.Tpo -c -o libvirtd- remote_protocol.o `test -f 'remote_protocol.c' || echo './'`remote_protocol.c mv -f .deps/libvirtd-remote_protocol.Tpo .deps/libvirtd- remote_protocol.Po /bin/sh ../mylibtool --tag=CC --mode=link gcc -I../gnulib/lib - I../gnulib/lib -I../include -I../include -I../src - I/usr/include/libxml2 -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 -DLOCAL_STATE_DIR="\"/usr/local/var\"" - DSYSCONF_DIR="\"/usr/local/etc\"" -DQEMUD_PID_FILE="\"\"" - DREMOTE_PID_FILE="\"/usr/local/var/run/libvirtd.pid\"" - DGETTEXT_PACKAGE=\"libvirt\" -g -O2 -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 -o libvirtd libvirtd- event.o libvirtd-qemud.o libvirtd-remote.o libvirtd-remote_pr ot ocol.o -lxml2 -lgnutls -lpthread -lsasl2 ../src/libvirt_driver_qemu.la ../src/libvirt_driver_lxc.la ../src/libvirt_driver_uml.la ../src/libvirt_driver_storage.la ../src/libvirt_driver_network.la ../src/libvirt.la ../gnulib/lib/libgnu.la -lpthread (LD) -o libvirtd libvirtd-event.o libvirtd-qemud.o libvirtd-remote.o libvirtd-remote_protocol.o ../src/.libs/libvirt_driver_storage.a(storage_backend.o): In function `virStorageBackendWaitForDevices': /home/af/vepa/libvirt/libvirt/src/storage_backend.c:262: undefined reference to `virNodeDeviceWaitForDevices' collect2: ld returned 1 exit status make[3]: *** [libvirtd] Error 1
This function was touched recently by the NPIV commit, so it's possible that you have stale build files lying around. You could also try a make clean && make to see if that fixes the problem.
I also did a make clean and a new make several times. It does not make a difference. I built a different libvirt version from source (the package you can download from libvirt.org) before on that same machine. Is it possible that something from that is still lying around and conflicting now? How can I clean that up? Where do I have to look for this? Is it looking up somewhere other than in the source directory for things to build against? Thanks, Anna