was error in latest build, svn 15200: Enable getopt long

Rob Landley rob at landley.net
Mon May 29 02:22:41 UTC 2006


On Sunday 28 May 2006 2:31 pm, Robert P. J. Day wrote:
> i got exactly the same error on a different FC5 box, so i'm pretty
> sure it's not something i did.

What you did was upgrade to FC5.  (I'm continually amazed people are still 
using that, but oh well.)  Do I have access to a test system running that...  
(Rummage rummage...)  Yup, I can ssh to one:

In file included from /home/landley/busybox/busybox/miscutils/hdparm.c:29:
/usr/include/asm/byteorder.h:6:2: warning: #warning using private kernel 
header; include <endian.h> instead!
In file included from /usr/include/arpa/inet.h:23,
                 from /home/landley/busybox/busybox/include/platform.h:125,
                 from /home/landley/busybox/busybox/include/libbb.h:14,
                 from /home/landley/busybox/busybox/include/busybox.h:21,
                 from /home/landley/busybox/busybox/miscutils/hdparm.c:36:
/usr/include/netinet/in.h:354: error: syntax error before ‘(’ token
/usr/include/netinet/in.h:354: error: syntax error before ‘__u32’
/usr/include/netinet/in.h:355: error: syntax error before ‘(’ token
/usr/include/netinet/in.h:355: error: syntax error before ‘__u16’
/usr/include/netinet/in.h:357: error: syntax error before ‘(’ token
/usr/include/netinet/in.h:357: error: syntax error before ‘__u32’
/usr/include/netinet/in.h:359: error: syntax error before ‘(’ token
/usr/include/netinet/in.h:359: error: syntax error before ‘__u16’

Pretty clear bug in Fedora's headers.  The bug is occuring _in_ the header, 
simply because we #included a header that works on every other Linux platform 
in the world.  Fedora shipped broken headers.  What a surprise.

That said, if there are people still using Solaris we can't expect everybody 
to have figured out Fedora was a dead end yet, so let's see...

Ok, I'm adding 16, 32, and 64 bit byte-swapping stuff to platform.h with names 
like "SWAP_LE16()", and we should use that rather than the kernel stuff.  I'm 
implementing them with the bswap() stuff out of <byteswap.h>, non-glibc 
#includes may need to figure out another header to include in platform.h...

I'll fix this.  Off to fiddle...

Rob
-- 
Never bet against the cheap plastic solution.



More information about the busybox mailing list