[libvirt] [PATCHv2] build: let autobuild check more code

Eric Blake eblake at redhat.com
Fri Dec 16 15:42:09 UTC 2011


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 at 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 at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20111216/e2467749/attachment-0001.sig>


More information about the libvir-list mailing list