my OS: fc11
./configure vi Make.defines and add '-D_GNU_SOURCE' at the end of 'CFLAGS' as follow: CFLAGS = -g -O2 -D_REENTRANT -Wall -D_GNU_SOURCE cd libgai/ && make [OK] problem 2: (libroute building problem) cd unpv12e/libroute && make: gcc -g -O2 -D_REENTRANT -Wall -c -o get_rtaddrs.o get_rtaddrs.c In file included from get_rtaddrs.c:1: unproute.h:3:45: error: net/if_dl.h: No such file or directory get_rtaddrs.c: In function ‘get_rtaddrs’: get_rtaddrs.c:21: error: ‘RTAX_MAX’ undeclared (first use in this function) get_rtaddrs.c:21: error: (Each undeclared identifier is reported only once get_rtaddrs.c:21: error: for each function it appears in.) get_rtaddrs.c:24: error: ‘struct sockaddr’ has no member named ‘sa_len’ get_rtaddrs.c:24: error: ‘struct sockaddr’ has no member named ‘sa_len’ get_rtaddrs.c:24: error: ‘struct sockaddr’ has no member named ‘sa_len’ get_rtaddrs.c:24: error: ‘struct sockaddr’ has no member named ‘sa_len’ make: *** [get_rtaddrs.o] Error 1 solution of problem 2: download file 'if_dl.h' here. put file 'if_dl.h' in /usr/include/net/ edit the file 'unproute.h' and add "#define RTAX_MAX 1024" vi /usr/include/linux/socket.h struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */ unsigned char sa_len; }; **********************problem 2 leaves open********************** problem 3: cd unpv12e/intro make daytimetcpsrvv6 unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any' solution of problem 3: delete 'extern' in file daytimetcpsrvv6.c as follow: extern struct in6_addr ipv6addr_any; -> struct in6_addr ipv6addr_any; [OK] |
|
来自: just_person > 《网络编程》