cc -c -O2 -g -pipe -I. -Wall -D_GNU_SOURCE -g -I. -DVERSION=\"1.1.17\" -fpic -o ide.o ide.c In file included from ide.c:20: /usr/include/linux/cdrom.h:156: syntax error before "__u8" /usr/include/linux/cdrom.h:158: syntax error before "frame" /usr/include/linux/cdrom.h:164: field `msf' has incomplete type /usr/include/linux/cdrom.h:171: syntax error before "__u8" /usr/include/linux/cdrom.h:173: syntax error before "cdmsf_frame0" /usr/include/linux/cdrom.h:174: syntax error before "cdmsf_min1" /usr/include/linux/cdrom.h:175: syntax error before "cdmsf_sec1" /usr/include/linux/cdrom.h:176: syntax error before "cdmsf_frame1" /usr/include/linux/cdrom.h:182: syntax error before "__u8" /usr/include/linux/cdrom.h:184: syntax error before "cdti_trk1" /usr/include/linux/cdrom.h:185: syntax error before "cdti_ind1" /usr/include/linux/cdrom.h:191: syntax error before "__u8" /usr/include/linux/cdrom.h:198: syntax error before "__u8" /usr/include/linux/cdrom.h:200: syntax error before "channel2" /usr/include/linux/cdrom.h:201: syntax error before "channel3" /usr/include/linux/cdrom.h:207: syntax error before "__u8" /usr/include/linux/cdrom.h:209: syntax error before "cdsc_adr" /usr/include/linux/cdrom.h:212: syntax error before "cdsc_ind" /usr/include/linux/cdrom.h:215: syntax error before '}' token /usr/include/linux/cdrom.h:221: syntax error before "__u8" /usr/include/linux/cdrom.h:226: syntax error before "cdte_datamode" /usr/include/linux/cdrom.h:241: syntax error before "__u8" /usr/include/linux/cdrom.h:243: syntax error before '*' token /usr/include/linux/cdrom.h:244: syntax error before '}' token /usr/include/linux/cdrom.h:252: syntax error before "__u8" /usr/include/linux/cdrom.h:263: syntax error before "__u8" /usr/include/linux/cdrom.h:518: syntax error before "__u8" /usr/include/linux/cdrom.h:529: syntax error before "end_sector" /usr/include/linux/cdrom.h:530: syntax error before "end_sector_l0" /usr/include/linux/cdrom.h:536: syntax error before "__u8" /usr/include/linux/cdrom.h:539: syntax error before '}' token /usr/include/linux/cdrom.h:542: syntax error before "__u8" /usr/include/linux/cdrom.h:545: syntax error before "cpst" /usr/include/linux/cdrom.h:546: syntax error before "rmi" /usr/include/linux/cdrom.h:550: syntax error before "__u8" /usr/include/linux/cdrom.h:552: syntax error before ':' token /usr/include/linux/cdrom.h:554: syntax error before '}' token /usr/include/linux/cdrom.h:557: syntax error before "__u8" /usr/include/linux/cdrom.h:560: syntax error before "value" /usr/include/linux/cdrom.h:560: conflicting types for `value' /usr/include/linux/cdrom.h:553: previous declaration of `value' /usr/include/linux/cdrom.h:561: syntax error before '}' token /usr/include/linux/cdrom.h:564: syntax error before "__u8" /usr/include/linux/cdrom.h:568: syntax error before "value" /usr/include/linux/cdrom.h:568: conflicting types for `value' /usr/include/linux/cdrom.h:560: previous declaration of `value' /usr/include/linux/cdrom.h:569: syntax error before '}' token /usr/include/linux/cdrom.h:572: syntax error before "__u8" /usr/include/linux/cdrom.h:579: syntax error before '}' token /usr/include/linux/cdrom.h:606: syntax error before "dvd_key" /usr/include/linux/cdrom.h:607: syntax error before "dvd_challenge" /usr/include/linux/cdrom.h:610: syntax error before "__u8" /usr/include/linux/cdrom.h:611: syntax error before ':' token /usr/include/linux/cdrom.h:615: syntax error before "__u8" /usr/include/linux/cdrom.h:616: syntax error before ':' token /usr/include/linux/cdrom.h:622: syntax error before "__u8" /usr/include/linux/cdrom.h:623: syntax error before ':' token /usr/include/linux/cdrom.h:629: syntax error before "__u8" /usr/include/linux/cdrom.h:630: syntax error before ':' token /usr/include/linux/cdrom.h:646: syntax error before "__u8" /usr/include/linux/cdrom.h:647: syntax error before ':' token /usr/include/linux/cdrom.h:651: syntax error before ':' token /usr/include/linux/cdrom.h:652: syntax error before ':' token /usr/include/linux/cdrom.h:653: syntax error before ':' token /usr/include/linux/cdrom.h:657: syntax error before "__u8" ... and so on. This worked with whatever the last build was.
This isn't just x86_64 either. It affects all arches unless you include <asm/types.h> before <linux/cdrom.h> (because __u8 et al aren't standard types)
fixed in beehive
Fix confirmed with glibc-kernheaders-2.4-8.29.