On 05/29/2012 12:51 PM, Eric Blake wrote:
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.
Except that it didn't entirely fix things. It helped in an incremental
build, but not from a fresh checkout. I'm still working on a proper
fix, which works from a fresh checkout as well as an incremental build,
in both in-tree and VPATH builds. Stay tuned, and I feel bad about the
churn.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org