On 05/28/2012 08:43 PM, Alex Jia wrote:
>>> I met some compiling error since May 26:
>>> <snip>
>>> make[3]: Entering directory `/home/ajia/Workspace/libvirt/src'
>>> CCLD libvirt_driver_qemu.la
>>> libtool: link: `libvirt_qemu_probes.lo' is not a valid libtool object
>> I see that too
'make' still can't work now:
make[3]: Entering directory `/home/ajia/Workspace/libvirt/src'
CCLD libvirt_driver_qemu.la
libtool: link: cannot find the library `libvirt_driver_qemu_impl.la' or
unhandled argument `libvirt_driver_qemu_impl.la'
make[3]: *** [libvirt_driver_qemu.la] Error 1
make[3]: Leaving directory `/home/ajia/Workspace/libvirt/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ajia/Workspace/libvirt/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ajia/Workspace/libvirt'
make: *** [all] Error 2
[root@202 libvirt]# find . -name libvirt_qemu_probes.d
./src/libvirt_qemu_probes.d
[root@202 libvirt]# find . -name libvirt_qemu_probes.o
./src/libvirt_qemu_probes.o
[root@202 libvirt]# find . -name libvirt_qemu_probes.lo
Found it, and I'm pushing this under the build-breaker rule. It's
always fun when _deleting_ lines from Makefile.am results in _adding_
lines to Makefile to fix the bug.
From 8a115526e6f64f1ffb2fbff6e29c845f68f66510 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake(a)redhat.com>
Date: Tue, 29 May 2012 12:41:06 -0600
Subject: [PATCH] build: fix missing dependencies for libvirt-qemu.so
The moment you specify a _DEPENDENCIES, automake (stupidly) assumes
that you will specify _all_ dependencies for that target. This
stupidity has been fixed in automake 1.12, but we cannot rely on
newer automake everywhere. For libvirt_la_DEPENDENCIES, we took
care of providing the full list, but for libvirt_qemu_la_DEPENDENCIES,
we were missing the dependency on libvirt_qemu_impl.la, which resulted
in a failed build:
make[3]: Entering directory `/home/ajia/Workspace/libvirt/src'
CCLD libvirt_driver_qemu.la
libtool: link: `libvirt_qemu_probes.lo' is not a valid libtool object
* src/Makefile.am (libvirt_driver_qemu_la_DEPENDENCIES): Delete;
automake does a better job if it does the entire job.
---
src/Makefile.am | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index e172e55..533e78a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1294,7 +1294,6 @@ BUILT_SOURCES += libvirt_probes.h
libvirt_probes.stp libvirt_functions.stp
if WITH_QEMU
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
-libvirt_driver_qemu_la_DEPENDENCIES = libvirt_qemu_probes.lo
libvirt_qemu_probes.o
$(libvirt_driver_qemu_la_SOURCES): libvirt_qemu_probes.h
endif
--
1.7.7.6
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org