Summary: | dev-libs/libbsd fails to compile on armv7a-hardfp-musl-vanilla | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Michael Jones <gentoo> |
Component: | Current packages | Assignee: | Freedesktop bugs <freedesktop-bugs> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | musl |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 430702 | ||
Attachments: |
build.log.xz
build.log.gz |
Description
Michael Jones
2016-12-09 08:44:56 UTC
-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -c /var/tmp/portage/dev-libs/libbsd-0.8.2-r99/work/libbsd-0.8.2/src/merge.c -fPIC -DPIC -o .libs/merge.o /var/tmp/portage/dev-libs/libbsd-0.8.2-r99/work/libbsd-0.8.2/src/nlist.c:42:25: fatal error: linux/a.out.h: No such file or directory #include <linux/a.out.h> ^ compilation terminated. /bin/sh ../libtool --tag=CC --mode=compile armv7a-hardfloat-linux-musleabi-gcc -DHAVE_CONFIG_H -I.. -isystem /var/tmp/portage/dev-libs/libbsd-0.8.2-r99/work/libbsd-0.8.2/include/bsd/ -include ../config.h -DLIBBSD_OVERLAY -DLIBBSD_DISABLE_DEPRECATED -D__REENTRANT -O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -c -o strmode.lo /var/tmp/portage/dev-libs/libbsd-0.8.2-r99/work/libbsd-0.8.2/src/strmode.c Makefile:626: recipe for target 'nlist.lo' failed make[2]: *** [nlist.lo] Error 1 Created attachment 455586 [details]
build.log.gz
I'm not sure how this was stabled on ARM or PowerPC, as neither architecture ships a.out.h in their linux-headers packages. I have a patch that corrects the inclusion to only occur when a.out support is enabled, but I will also need to add IUSE=aout to the ebuild. Then that USE will need to be masked on architectures where it isn't supported. Or, I can just blanket-disable a.out support in the ebuild since such binaries are very old and unsupported. Thoughts? The patch from the musl overlay added the hacky <linux/a.out.h> include. The KEYWORDS of ebuilds of the musl overlay usually mirror those of the main tree. libbsd uses <a.out.h> only to implement nlist(). Even when a.out support is disabled, the implemented nlist function still needs the definitions of struct nlist, N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, N_FN, N_EXT from a.out.h because it needs to convert Elf_Sym to struct nlist (to match the API of nlist()). Maybe upstream can be convinced to include these few definitions in their headers. Could you open an upstream bug? can you retry with 0.9.1? Pretty sure this is fine now. |