|Summary:||net-nds/rpcbind fails to compile in hardened/linux/musl/amd64 profile|
|Product:||Gentoo Linux||Reporter:||Chad Joan <chadjoan>|
|Component:||Hardened||Assignee:||Gentoo musl team <musl>|
|Package list:||Runtime testing required:||---|
|Bug Depends on:|
emerge --info '=net-nds/rpcbind-0.2.3-r1::gentoo'
emerge -pqv '=net-nds/rpcbind-0.2.3-r1::gentoo'
Description Chad Joan 2017-01-04 04:28:30 UTC
Created attachment 458624 [details] build.log I tried building net-nds/rpcbind-0.2.3-r1 and the build failed, starting with this error and continuing with many others: src/util.c:44:23: fatal error: sys/queue.h: No such file or directory #include <sys/queue.h> ^ compilation terminated. It seems similar in nature to this bug report for a different piece of software (a text editor): https://github.com/lichray/nvi2/issues/40 In summary, sys/queue.h is present on glibc systems (/usr/include/sys/queue.h), but not on musl-libc systems. This particular problem can probably be solved by making the software include /usr/include/bsd in addition to /usr/include so that it can pull in /usr/include/bsd/sys/queue.h, or maybe modify the source to include <bsd/sys/queue.h>. Hopefully they are compatible. There may be other problems too. It's hard to tell without digging. It's open season on this bug: I won't be working on it now and probably not any time soon.
Comment 1 Chad Joan 2017-01-04 04:29:19 UTC
Created attachment 458626 [details] emerge --info '=net-nds/rpcbind-0.2.3-r1::gentoo'
Comment 2 Chad Joan 2017-01-04 04:29:56 UTC
Created attachment 458628 [details] emerge -pqv '=net-nds/rpcbind-0.2.3-r1::gentoo'
Comment 3 Chad Joan 2017-04-06 01:59:18 UTC
Version 0.2.4 confirmed build works. I tried building rpcbind today to see if it became un-broken, and was pleasantly surprised: # emerge -av1 net-nds/rpcbind * 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 ] sys-libs/queue-0.1::musl 0 KiB [ebuild U ] net-libs/libtirpc-1.0.1:0/3::musl [0.2.5-r99:0/0::musl] USE="ipv6 -kerberos -static-libs" 484 KiB [ebuild N ] net-nds/rpcbind-0.2.4::gentoo USE="tcpd -debug (-selinux) (-systemd) -warmstarts" 120 KiB Total: 3 packages (1 upgrade, 2 new), Size of downloads: 604 KiB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 3) sys-libs/queue-0.1::musl >>> Installing (1 of 3) sys-libs/queue-0.1::musl >>> Emerging (2 of 3) net-libs/libtirpc-1.0.1::musl >>> Installing (2 of 3) net-libs/libtirpc-1.0.1::musl >>> Emerging (3 of 3) net-nds/rpcbind-0.2.4::gentoo >>> Installing (3 of 3) net-nds/rpcbind-0.2.4::gentoo >>> Jobs: 3 of 3 complete Load avg: 0.20, 0.20, 0.21 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. ... I'm not sure if rpcbind was "fixed" or not, but I suspect that the person who added sys-libs/queue::musl to the tree is my hero. Oh jubilation!
Comment 4 Anthony Basile 2017-04-06 21:50:36 UTC
It was probably fixed upstream since queue.h is just a bunch of macros.