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 -- Best regards, ----------------------------------- Han Han Quality Engineer Redhat. Email: hhan@redhat.com Phone: +861065339333
Cole Robinson
2019-Nov-26 23:33 UTC
Re: [libvirt-users] Fail to build upstream libvirt on rhel8
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
Daniel P. Berrangé
2019-Nov-27 09:56 UTC
Re: [libvirt-users] Fail to build upstream libvirt on rhel8
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 sideIt 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 :|
Possibly Parallel Threads
- Re: Fail to build upstream libvirt on rhel8
- Running the test fails virnetmessagetest with libvirt 1.2.8
- Re: Compile error on centos 7 : undefined reference to `virConnectNetworkEventRegisterAnyCheckACL'
- Compile error on centos 7 : undefined reference to `virConnectNetworkEventRegisterAnyCheckACL'
- Re: LIBVIRT-4.6.0 can't work with QEMU 3.0.0