On 11/21/19 3:18 AM, Han Han wrote:
Hello,
A compilation failure happened when I tried building libvirt latest code
on rhel8
Version:
gcc-8.3.1-4.5.el8.x86_64
libvirt v5.9.0-352-g5e939cea89
Steps:
1. Clone libvirt source code
2. Create build dir, and run autogen.sh
# cd libvirt
# mkdir build && cd build
# ../autogen.sh --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --program-prefix=
--disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
--libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib
--mandir=/usr/share/man --infodir=/usr/share/info
--with-runstatedir=/run --with-qemu --without-openvz --without-lxc
--without-vbox --without-libxl --with-sasl --with-polkit --with-libvirtd
--without-phyp --with-esx --without-hyperv --without-vmware --without-vz
--without-bhyve --with-remote-default-mode=legacy --with-interface
--with-network --with-storage-fs --with-storage-lvm --with-storage-iscsi
--with-storage-iscsi-direct --with-storage-scsi --with-storage-disk
--with-storage-mpath --with-storage-rbd --without-storage-sheepdog
--with-storage-gluster --without-storage-zfs --without-storage-vstorage
--with-numactl --with-numad --with-capng --without-fuse --with-netcf
--with-selinux --with-selinux-mount=/sys/fs/selinux --without-apparmor
--without-hal --with-udev --with-yajl --with-sanlock --with-libpcap
--with-macvtap --with-audit --with-dtrace --with-driver-modules
--with-firewalld --with-firewalld-zone --without-wireshark-dissector
--without-pm-utils --with-nss-plugin --with-qemu-user=qemu
--with-qemu-group=qemu --with-tls-priority=@LIBVIRT,SYSTEM
--enable-werror --enable-expensive-tests --with-init-script=systemd
--without-login-shell
# make
Then error appears:
make[2]: Entering directory '/root/libvirt/build/include/libvirt'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/libvirt/build/include/libvirt'
Making all in src
make[2]: Entering directory '/root/libvirt/build/src'
GEN access/org.libvirt.api.policy
/bin/sh: access/org.libvirt.api.policy: No such file or directory
GEN access/viraccessapicheck.h
/bin/sh: access/viraccessapicheck.h: No such file or directory
make[2]: *** [Makefile:15067: access/viraccessapicheck.h] Error 1
make[2]: Leaving directory '/root/libvirt/build/src'
make[1]: *** [Makefile:1957: all-recursive] Error 1
make[1]: Leaving directory '/root/libvirt/build'
make: *** [Makefile:1850: all] Error 2
I reproduced on Fedora too. I tracked it down to the
--disable-dependency-tracking configure option: drop that and the build
should work. I don't know enough about autotools to say if that's
expected, or it's something broken on libvirt side
- Cole