Subject: Re: [libvirt] Problem compiling latest code from libvirt
CVS
Fischer, Anna wrote:
> 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
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