Sunday, April 29, 2012

Compile error for tun0 on Ubuntu 6.06



This is antient but it just bit me again so I'm saving the notes here.


> gcc -DUNIX -g3   -DDEBUG -Wall   -c -o tun.o tun.c
> In file included from /usr/include/sys/socket.h:35,
>                 from /usr/include/linux/if.h:22,
>                 from tun.c:41:
> /usr/include/bits/socket.h:43: error: syntax error before numeric constant
> /usr/include/bits/socket.h:53: error: syntax error before numeric constant

>  https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/69838

That's an old one. I thought that would have been fixed by now.

I think I inadvertently missed an email from Rick Green at the time who did some great sleuth work and ran across this little tidbit in iface.h - something that I completely forgot about :

   #ifdef UNIX
   #ifndef send
   #warning socket.h included
   /* ugly hack to avoid both libc collisions and jnos misconnections */
   #include "socket.h"
   #endif
   #endif

remove ALL of the above from iface.h, then make clean, then try again,  see if that helps it any. What I really need to do is convert the JNOS variants of sock_addr, etc to use j2 prefixes (like I did with the bind, connect, accept, etc function calls quite some time ago).

Maiko

No comments: