Hey, It seems like there is a problem with finding headers on x86. Here is how to reproduce the bug: Unpack a x86 stage3 tarball on a clean machine, and follow the install guide untill you have chrooted into it. Now emerge the following packages: sys-devel/flex sys-devel/bison dev-libs/libnl Now try and compile hostapd : ebuild /usr/portage/net-wireless/hostapd/hostapd-0.7.3.ebuild clean compile This fails with an error: ../src/ap/ieee802_1x.c: In function ‘ieee802_1x_set_sta_authorized’: ../src/ap/ieee802_1x.c:108:13: error: ‘errno’ undeclared (first use in this function) ../src/ap/ieee802_1x.c:108:13: note: each undeclared identifier is reported only once for each function it appears in ../src/ap/ieee802_1x.c:108:22: error: ‘ENOENT’ undeclared (first use in this function) make: *** [../src/ap/ieee802_1x.o] Error 1 make: *** Waiting for unfinished jobs.... I cannot figure out what is causing this, I've been trying to mess around with headers all day, without being able to get it to work. Is there anyone here who knowns what might be causing this problem? I need to apply some patches to the ebuild, but I'm not going to change it until I know that it compiles on x86 again.
Also, if you try the same procedure with an amd64 stage3 tarball, it works fine, which puzzles me.
Created attachment 285999 [details] Preprocessor output
Created attachment 286001 [details] Preprocessor output on amd64
After talking with robbat2 and antarus on IRC, the problem seems to be related to >=libnl-2.0 installing errno.h header that breaks things.
The problem was that we included the /usr/include/netlink path in our headers.