[libvirt] Strange test build failure

Daniel P. Berrange berrange at redhat.com
Fri May 22 16:03:10 UTC 2015


On Fri, May 22, 2015 at 05:59:49PM +0200, Michal Privoznik wrote:
> 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.

Or is this not the same as the issue with inline that was seen with
clang before ?

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list