[libvirt] Strange test build failure

Michal Privoznik mprivozn at redhat.com
Fri May 22 15:59:49 UTC 2015


On 22.05.2015 16:39, Dimitri John Ledkov wrote:
> On 22 May 2015 at 13:53, Michal Privoznik <mprivozn at redhat.com> wrote:
>> On 22.05.2015 14:18, Daniel P. Berrange wrote:
>>> On Fri, May 22, 2015 at 01:13:40PM +0100, Dimitri John Ledkov wrote:
>>>> # VIR_TEST_VERBOSE=1 VIR_TEST_DEBUG=1 ./qemuxml2argvtest 2>&1 | grep NUMA
>>>> 61) QEMU XML-2-ARGV hugepages-pages
>>>> ... libvirt:  error : unsupported configuration: NUMA node 1 is
>>>> unavailable
>>>> 64) QEMU XML-2-ARGV hugepages-shared
>>>> ... libvirt:  error : unsupported configuration: NUMA node 1 is
>>>> unavailable
>>>> 331) QEMU XML-2-ARGV numatune-memnode
>>>> ... libvirt:  error : unsupported configuration: NUMA node 1 is
>>>> unavailable
>>>> 333) QEMU XML-2-ARGV numatune-memnode-no-memory
>>>> ... libvirt:  error : unsupported configuration: NUMA node 3 is
>>>> unavailable
>>>> 336) QEMU XML-2-ARGV numatune-auto-prefer
>>>> ... libvirt:  error : unsupported configuration: NUMA node 1 is
>>>> unavailable
>>>> 449) QEMU XML-2-ARGV memory-hotplug-dimm
>>>> ... libvirt:  error : unsupported configuration: NUMA node 1 is
>>>> unavailable
>>>> 450) QEMU XML-2-ARGV memory-hotplug-dimm-addr
>>>> ... libvirt:  error : unsupported configuration: NUMA node 1 is
>>>> unavailable
>>>>
>>>> So the test fails, but I don't believe I'm compiling libvirt with
>>>> numad support... So I don't understand what is being asserted here.
>>>
>>> Can you tell us more about what platform you are building on, and
>>> particularly what compiler & linker you are using
>>
>> And what arguments do you pass to configure.
>>
> 
> I'm building on https://clearlinux.org which in all fairness is very
> up to date across the board of packages and only lightly patched.
> 
> We just switched to gcc 5.1 and saw this test failures in the world
> rebuild. The full configure call is as follows (from parsed rpmspec,
> looking at it I should fix setting CFLAGS twice...):
> 
> Linker is just binutils gnu ld.
> 
> CFLAGS="-O2 -g2 -feliminate-unused-debug-types  -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=32 -Wformat -Wformat-security
> -Wl,--copy-dt-needed-entries -Wno-error -Wl,-z -Wl,now -Wl,-z
> -Wl,relro -Wl,-z,max-page-size=0x1000 -fno-semantic-interposition
> -malign-data=abi -m64 -march=ivybridge -mtune=haswell -mrdrnd
> -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wp,-D_REENTRANT
> " ; export CFLAGS ;
> CXXFLAGS="${CXXFLAGS:--O2 -g2 -feliminate-unused-debug-types  -pipe
> -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=32 -Wformat -Wformat-security
> -Wl,--copy-dt-needed-entries -Wno-error -Wl,-z -Wl,now -Wl,-z
> -Wl,relro -Wl,-z,max-page-size=0x1000 -fno-semantic-interposition
> -malign-data=abi -m64 -march=ivybridge -mtune=haswell -mrdrnd
> -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wp,-D_REENTRANT
> }" ; export CXXFLAGS ;
> FFLAGS="${FFLAGS:--O2 -g2 -feliminate-unused-debug-types  -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=32 -Wformat -Wformat-security
> -Wl,--copy-dt-needed-entries -Wno-error -Wl,-z -Wl,now -Wl,-z
> -Wl,relro -Wl,-z,max-page-size=0x1000 -fno-semantic-interposition
> -malign-data=abi -m64 -march=ivybridge -mtune=haswell -mrdrnd
> -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wp,-D_REENTRANT
> -I/usr/lib64/gfortran/modules}" ; export FFLAGS ;
> LD_AS_NEEDED=1; export LD_AS_NEEDED ;
> PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig; export PKG_CONFIG_LIBDIR ;
> PATH="/usr/lib64/ccache/bin:/usr/local/bin:/usr/bin"; export PATH ;
>   CFLAGS="${CFLAGS:--O2 -g2 -feliminate-unused-debug-types  -pipe
> -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=32 -Wformat -Wformat-security
> -Wl,--copy-dt-needed-entries -Wno-error -Wl,-z -Wl,now -Wl,-z
> -Wl,relro -Wl,-z,max-page-size=0x1000 -fno-semantic-interposition
> -malign-data=abi -m64 -march=ivybridge -mtune=haswell -mrdrnd
> -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wp,-D_REENTRANT
> }" ; export CFLAGS ;
>   autoreconf -v --install --force || exit 1
>   ./configure --build=x86_64-generic-linux-gnu --host=x86_64-generic-linux-gnu \
> --target=x86_64-unknown-linux-gnu \
> --program-prefix= \
> --prefix=/usr \
> --exec-prefix=/usr \
> --bindir=/usr/bin \
> --sbindir=/usr/bin \
> --sysconfdir=/etc \
> --datadir=/usr/share \
> --includedir=/usr/include \
> --libdir=/usr/lib64 \
> --libexecdir=/usr/libexec \
> --localstatedir=/var \
> --sharedstatedir=/usr/com \
> --mandir=/usr/share/man \
> --infodir=/usr/share/info --disable-static
> ac_cv_path_EBTABLES_PATH=/usr/bin/ebtables \
> ac_cv_path_IP_PATH= \
> --disable-dependency-tracking \
> --enable-nls \
> --with-dbus \
> --with-init-script=systemd \
> --with-interface \
> --with-libvirtd \
> --with-lxc \
> --with-macvtap=yes \
> --with-numactl \
> --without-apparmor \
> --without-dtrace \
> --without-esx \
> --without-firewalld \
> --without-fuse \
> --without-hyperv \
> --without-libxl \
> --without-netcf \
> --without-openvz \
> --without-phyp \
> --without-pm-utils \
> --without-polkit \
> --without-sasl \
> --without-selinux \
> --without-uml \
> --without-vbox \
> --without-vmware \
> --without-xen \
> --without-xenapi \
> --without-xen-inotify \
> --with-pciaccess \
> --with-qemu-group=qemu \
> --with-qemu-user=qemu \
> --with-qemu=yes \
> --with-remote \
> --with-test=yes \
> --with-udev \
> --with-yajl
> 

So even though you are building with numactl, it seems to me like you
don't have numa_bitmask_isbitset(). Can you check config.log to see if
HAVE_NUMA_BITMASK_ISBITSET is defined to 1? If my guess is right, this
causes us to not mock virNumaNodeIsAvailable() and therefore we run the
original function which checks real host the build is ran on.

Michal




More information about the libvir-list mailing list