[quake2] quake2 on ipv6
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: *** [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
Hope this helps.
More information about the quake2