[quake2] quake2 on ipv6

Florent Parent Florent.Parent at viagenie.qc.ca
Mon Feb 18 17:18:28 EST 2002




--On 2002-02-18 12:50:25 -0800 mike at vinge.mine.nu wrote:

> i just got ipv6 working in linux, and i'm trying to compile quake2.
> however, these are the errors i get:
>
> gcc -Wall -pipe -Dstricmp=strcasecmp -DHAVE_IPV6 -DHAVE_SIN6_LEN -O2
> -ffast-math -funroll-loops -malign-loops=2 -malign-jumps=2
> -malign-functions=2 -g -DLINUX_VERSION='"3.21+rCVS"' -o
> releasei386/client/net_udp6.o -c src/linux/net_udp6.c
> src/linux/net_udp6.c: In function `NetadrToSockadr':
> src/linux/net_udp6.c:103: structure has no member named `sin6_len'
> src/linux/net_udp6.c:115: structure has no member named `ss_len'
> src/linux/net_udp6.c:130: structure has no member named `sin6_len'
> src/linux/net_udp6.c: In function `NET_BaseAdrToString':
> src/linux/net_udp6.c:267: structure has no member named `ss_len'
> src/linux/net_udp6.c:275: structure has no member named `sin6_len'
> src/linux/net_udp6.c:288: structure has no member named `ss_len'
> src/linux/net_udp6.c: In function `NET_SendPacket':
> src/linux/net_udp6.c:614: structure has no member named `sin6_len'
> src/linux/net_udp6.c: In function `NET_Socket':
> src/linux/net_udp6.c:757: warning: `newsocket' might be used
> uninitialized in this function
> make[1]: *** [releasei386/client/net_udp6.o] Error 1
>
> I looked around, and i guess sin6_len is supposed to be defined in
> <netinet/in.h>, but my (glibc2.2.4) version doesn't have it. Any idea
> where i could get one that works?


You will have to remove the -DHAVE_SIN6_LEN in the Makefile. Also use the 
included net_udp6.c file that I've changed to make sute that this #defined 
is everywhere it's needed.

I've just tested under Linux and the IPV6_V6ONLY or IPV6_BINDV6ONLY is 
missing, so I will need to make some changes to have this working in 
dual-stack mode (bind on IPv4 and IPv6 simultaneously).  It will work fine 
in IPv4 only or IPv6 only mode (+set ip <ipv4|ipv6 address>).

I'm considering using the IPv6 USAGI stack for Linux as its IPv6 support is 
more up-to-date.

Hope this helps.
Florent.
--
Florent Parent
Viagénie  http://www.viagenie.qc.ca




More information about the quake2 mailing list