Summary: | app-emulation/libvirt-3.0.0 fails to compile in hardened/linux/musl/amd64 profile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Chad Joan <chadjoan> |
Component: | Current packages | Assignee: | Gentoo musl team <musl> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | tamiko, virtualization |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 430702 | ||
Attachments: |
build.log.gz
emerge --info '=app-emulation/libvirt-3.0.0::gentoo' emerge -pqv '=app-emulation/libvirt-3.0.0::gentoo' |
Description
Chad Joan
2017-02-16 06:53:30 UTC
Created attachment 463904 [details]
build.log.gz
Created attachment 463906 [details]
emerge --info '=app-emulation/libvirt-3.0.0::gentoo'
Created attachment 463908 [details]
emerge -pqv '=app-emulation/libvirt-3.0.0::gentoo'
Status of other versions: app-emulation/libvirt-2.5.0-r2::gentoo (build failed) app-emulation/libvirt-2.3.0::gentoo (build failed*) app-emulation/libvirt-2.1.0-r2::gentoo (build failed**) app-emulation/libvirt-1.3.5-r2::gentoo (pulled in different deps, so I didn't attempt it) * Slightly different error text, but pretty much the same thing: /var/tmp/portage/app-emulation/libvirt-2.3.0/work/libvirt-2.3.0/src/storage/storage_backend_fs.c: In function 'virStorageBackendFileSystemIsMounted': /var/tmp/portage/app-emulation/libvirt-2.3.0/work/libvirt-2.3.0/src/storage/storage_backend_fs.c:424:23: error: '_PATH_MOUNTED' undeclared (first use in this function) if ((mtab = fopen(_PATH_MOUNTED, "r")) == NULL) { ^ /var/tmp/portage/app-emulation/libvirt-2.3.0/work/libvirt-2.3.0/src/storage/storage_backend_fs.c:424:23: note: each undeclared identifier is reported only once for each function it appears in ** This error is different entirely: In file included from /var/tmp/portage/app-emulation/libvirt-2.1.0-r2/work/libvirt-2.1.0/src/libvirt-stream.c:26:0: /var/tmp/portage/app-emulation/libvirt-2.1.0-r2/work/libvirt-2.1.0/src/rpc/virnetprotocol.h:9:21: fatal error: rpc/rpc.h: No such file or directory #include <rpc/rpc.h> ^ compilation terminated. A <paths.h> include is missing. alpine has a patch for this: http://git.alpinelinux.org/cgit/aports/tree/main/libvirt/musl-fix-includes.patch?id=9dd23710883316940b74244850e2ca2515a69c07 This should be easy to get upstream, but it seems that nobody has bothered so far... (In future, please use the "Current Packages" Component, so that the bug has a higher probability of being assigned to the package's maintainer.) I have applied said patch to libvirt, please test version 3.1.0. commit ee4cf77bfc66702e29c6fad238edd2a7e02dab1d Author: Matthias Maier <tamiko@gentoo.org> Date: Sat Mar 4 15:36:15 2017 -0600 app-emulation/libvirt: fix include for musl, bug #609488 Package-Manager: Portage-2.3.3, Repoman-2.3.2 I have attempted to compile 3.1.0:
$ emerge -av app-emulation/libvirt
* IMPORTANT: 1 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ~] app-emulation/libvirt-3.1.0:0/3.1.0::gentoo USE="caps dbus fuse libvirtd macvtap qemu sasl udev vepa zfs (-apparmor) -audit -firewalld -glusterfs -iscsi -libssh -lvm -lxc -nfs -nls -numa -openvz -parted -pcap -phyp -policykit -rbd (-selinux) -uml -virt-network -virtualbox -wireshark-plugins -xen -zeroconf" 13581 KiB
Total: 1 package (1 new), Size of downloads: 13581 KiB
Would you like to merge these packages? [Yes/No]
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) app-emulation/libvirt-3.1.0::gentoo
>>> Failed to emerge app-emulation/libvirt-3.1.0, Log file:
>>> '/var/tmp/portage/app-emulation/libvirt-3.1.0/temp/build.log'
>>> Jobs: 0 of 1 complete, 1 failed Load avg: 4.46, 1.24, 0.53
...
Unfortunately, I am still getting a similar error:
storage/storage_backend_fs.c: In function 'virStorageBackendFileSystemIsMounted':
storage/storage_backend_fs.c:306:23: error: '_PATH_MOUNTED' undeclared (first use in this function)
if ((mtab = fopen(_PATH_MOUNTED, "r")) == NULL) {
^
storage/storage_backend_fs.c:306:23: note: each undeclared identifier is reported only once for each function it appears in
Makefile:10069: recipe for target 'storage/libvirt_storage_backend_fs_la-storage_backend_fs.lo' failed
make[3]: *** [storage/libvirt_storage_backend_fs_la-storage_backend_fs.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
I just built app-emulation/libvirt-3.1.0::musl successfully. So something changed; it seems like the ::musl version of the ebuild didn't exist before, but now it does and everything is peachy. This is wonderful! Thanks a bunch! Victory went like so: # emerge -av app-emulation/libvirt * IMPORTANT: 1 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ~] app-emulation/libvirt-3.1.0:0/3.1.0::musl USE="caps dbus fuse libvirtd macvtap nfs qemu sasl udev vepa zfs (-apparmor) -audit -firewalld -glusterfs -iscsi -libssh -lvm -lxc -nls -numa -openvz -parted -pcap -phyp -policykit -rbd (-selinux) -uml -virt-network -virtualbox -wireshark-plugins -xen -zeroconf" 0 KiB Total: 1 package (1 new), Size of downloads: 0 KiB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) app-emulation/libvirt-3.1.0::musl >>> Installing (1 of 1) app-emulation/libvirt-3.1.0::musl >>> Recording app-emulation/libvirt in "world" favorites file... >>> Jobs: 1 of 1 complete Load avg: 6.07, 2.85, 1.40 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. |