Package: linux-libc-dev Version: 3.2.1-1 Severity: normal User: debian-al...@lists.debian.org Usertags: alpha X-Debbugs-CC: debian-al...@lists.debian.org
The simple test program: #include <linux/net.h> #include <sys/socket.h> fails to compile on the Alpha arch with the following: $ gcc -c test.c In file included from /usr/include/alpha-linux-gnu/sys/socket.h:40:0, from test.c:2: /usr/include/alpha-linux-gnu/bits/socket.h:68:3: error: expected identifier before numeric constant It is because <linux/net.h> eventually includes /usr/include/alpha-linux-gnu/asm/socket.h which ends with the following: /* O_NONBLOCK clashes with the bits used for socket types. Therefore we * have to define SOCK_NONBLOCK to a different value here. */ #define SOCK_NONBLOCK 0x40000000 Then <sys/socket.h> includes /usr/include/alpha-linux-gnu/bits/socket.h (from libc6.1-dev) which has the following: enum __socket_type { ...snip... SOCK_NONBLOCK = 0x40000000 /* Atomically mark descriptor(s) as non-blocking. */ } which with the above macro definition becomes 0x40000000 = 0x40000000 inside the enumeration, and the compiler understandingly barfs. Indeed this is the cause of the FTBFS of the package audit which compiles on all other arches without a problem but fails on Alpha due to the double definition of SOCK_NONBLOCK. I suspect that SOCK_NONBLOCK should not be defined in <asm/socket.h> in linux-libc-dev. Cheers Michael. -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4f2baa7d.8080...@orcon.net.nz