On Tue, Nov 26, 2019 at 06:33:13PM -0500, Cole Robinson wrote:
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
It is broken code in autotools IMHO, but we don't really care enough
to investigate further. Simply don't use the --disable-dependency-tracking
option. We'll "solve" it by ditching autotools in favour of meson soon.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|