
On 12/16/2011 02:08 AM, Daniel P. Berrange wrote:
On Wed, Dec 14, 2011 at 11:02:23AM -0700, Eric Blake wrote:
Many times, we don't notice a bug in src/libvirt_private.syms until someone attempts a build with modules enabled. Likewise, some gcc warnings about no % in a printf format string only appear under --disable-nls. And configure.ac should automatically be excluding modules on mingw without us having to be explicit. Improving autobuild.sh to stress more combinations can only help.
* autobuild.sh: Add --with-driver-modules and --disable-nls. Update mingw build to rely more on configure.ac detection. ---
@@ -71,23 +76,7 @@ if [ -x /usr/bin/i686-pc-mingw32-gcc ]; then --host=i686-pc-mingw32 \ --prefix="$AUTOBUILD_INSTALL_ROOT/i686-pc-mingw32/sys-root/mingw" \ --enable-compile-warnings=error \ - --without-xen \ - --without-qemu \ - --without-openvz \ - --without-lxc \ - --without-vbox \ - --without-xenapi \ - --without-uml \ - --without-sasl \ - --without-avahi \ - --without-polkit \ - --without-python \ - --without-libvirtd \ - --without-phyp \ - --without-hyperv \ - --without-netcf \ - --without-audit \ - --without-dtrace \ + --without-libvirtd
It turns out we don't disable dtrace correctly on mingw32, if the build host has it present for native. So we either need to fix configure.ac or add --without-dtrace back in.
I'm pushing this under the build-breaker rule, which gets me to the next build failure that I'll be patching soon: Creating library file: .libs/libvirt.dll.a Cannot export virDomainEventDispatch: symbol not defined Cannot export virDomainEventDispatchDefaultFunc: symbol not defined Cannot export virDomainEventStateFlush: symbol not defined From 0beb0ee16dce791651d8ca89deb8259ce004acb6 Mon Sep 17 00:00:00 2001 From: Eric Blake <eblake@redhat.com> Date: Fri, 16 Dec 2011 08:35:17 -0700 Subject: [PATCH] build: disable dtrace on non-Linux builds Using dtrace (and systemtap in general) is Linux-specific. Running ./autobuild.sh shows that attempting a cross-build to target mingw was mistakenly trying to build dtrace code, merely because it was present on the compilation host. * configure.ac (with_dtrace): Don't attempt to use dtrace when doing a cross-build hosted on Linux but targetting elsewhere. Reported by Daniel P. Berrange. --- configure.ac | 8 ++++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 01a2bae..ec3e470 100644 --- a/configure.ac +++ b/configure.ac @@ -269,9 +269,10 @@ if test "$prefix" = "/usr" && test "$sysconfdir" = '${prefix}/etc' ; then fi dnl Make some notes about which OS we're compiling for, as the lxc and qemu -dnl drivers require linux headers, while storage_mpath and nwfilter are also -dnl linux specific. The "network" and storage_fs drivers are known to not -dnl work on MacOS X presently, so we also make a note if compiling for that +dnl drivers require linux headers, and storage_mpath, dtrace, and nwfilter +dnl are also linux specific. The "network" and storage_fs drivers are known +dnl to not work on MacOS X presently, so we also make a note if compiling +dnl for that with_linux=no with_osx=no case $host in @@ -288,6 +289,7 @@ if test $with_linux = no; then then with_qemu=no fi + with_dtrace=no fi AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"]) -- 1.7.7.4 -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org