[root@demo dhcp-4.1.0]# make<br>
Making all in includes<br>
make[1]: Entering directory `/scratch/dhcp-4.1.0/includes'<br>
make all-am<br>
make[2]: Entering directory `/scratch/dhcp-4.1.0/includes'<br>
make[2]: Nothing to be done for `all-am'.<br>
make[2]: Leaving directory `/scratch/dhcp-4.1.0/includes'<br>
make[1]: Leaving directory `/scratch/dhcp-4.1.0/includes'<br>
Making all in tests<br>
make[1]: Entering directory `/scratch/dhcp-4.1.0/tests'<br>
make[1]: Nothing to be done for `all'.<br>
make[1]: Leaving directory `/scratch/dhcp-4.1.0/tests'<br>
Making all in common<br>
make[1]: Entering directory `/scratch/dhcp-4.1.0/common'<br>
Making all in tests<br>
make[2]: Entering directory `/scratch/dhcp-4.1.0/common/tests'<br>
make[2]: Nothing to be done for `all'.<br>
make[2]: Leaving directory `/scratch/dhcp-4.1.0/common/tests'<br>
make[2]: Entering directory `/scratch/dhcp-4.1.0/common'<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT alloc.o -MD -MP -MF ".deps/alloc.Tpo" -c -o alloc.o alloc.c; \<br>
then mv -f ".deps/alloc.Tpo" ".deps/alloc.Po"; else rm -f ".deps/alloc.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT bpf.o -MD -MP -MF ".deps/bpf.Tpo" -c -o bpf.o bpf.c; \<br>
then mv -f ".deps/bpf.Tpo" ".deps/bpf.Po"; else rm -f ".deps/bpf.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT comapi.o -MD -MP -MF ".deps/comapi.Tpo" -c -o comapi.o comapi.c; \<br>
then mv -f ".deps/comapi.Tpo" ".deps/comapi.Po"; else rm -f ".deps/comapi.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT conflex.o -MD -MP -MF ".deps/conflex.Tpo" -c -o conflex.o conflex.c; \<br>
then mv -f ".deps/conflex.Tpo" ".deps/conflex.Po"; else rm -f ".deps/conflex.Tpo"; exit 1; fi\\
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT ctrace.o -MD -MP -MF ".deps/ctrace.Tpo" -c -o ctrace.o ctrace.c; \<br>
then mv -f ".deps/ctrace.Tpo" ".deps/ctrace.Po"; else rm -f ".deps/ctrace.Tpo"; exit 1; fi\\
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT discover.o -MD -MP -MF ".deps/discover.Tpo" -c -o discover.o discover.c; \<br>
then mv -f ".deps/discover.Tpo" ".deps/discover.Po"; else rm -f ".deps/discover.Tpo"; exit 1; fi\\
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT dispatch.o -MD -MP -MF ".deps/dispatch.Tpo" -c -o dispatch.o dispatch.c; \<br>
then mv -f ".deps/dispatch.Tpo" ".deps/dispatch.Po"; else rm -f ".deps/dispatch.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT dlpi.o -MD -MP -MF ".deps/dlpi.Tpo" -c -o dlpi.o dlpi.c; \<br>
then mv -f ".deps/dlpi.Tpo" ".deps/dlpi.Po"; else rm -f ".deps/dlpi.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT dns.o -MD -MP -MF ".deps/dns.Tpo" -c -o dns.o dns.c; \<br>
then mv -f ".deps/dns.Tpo" ".deps/dns.Po"; else rm -f ".deps/dns.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT ethernet.o -MD -MP -MF ".deps/ethernet.Tpo" -c -o ethernet.o ethernet.c; \<br>
then mv -f ".deps/ethernet.Tpo" ".deps/ethernet.Po"; else rm -f ".deps/ethernet.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT execute.o -MD -MP -MF ".deps/execute.Tpo" -c -o execute.o execute.c; \<br>
then mv -f ".deps/execute.Tpo" ".deps/execute.Po"; else rm -f ".deps/execute.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT fddi.o -MD -MP -MF ".deps/fddi.Tpo" -c -o fddi.o fddi.c; \<br>
then mv -f ".deps/fddi.Tpo" ".deps/fddi.Po"; else rm -f ".deps/fddi.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT icmp.o -MD -MP -MF ".deps/icmp.Tpo" -c -o icmp.o icmp.c; \<br>
then mv -f ".deps/icmp.Tpo" ".deps/icmp.Po"; else rm -f ".deps/icmp.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT inet.o -MD -MP -MF ".deps/inet.Tpo" -c -o inet.o inet.c; \<br>
then mv -f ".deps/inet.Tpo" ".deps/inet.Po"; else rm -f ".deps/inet.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT lpf.o -MD -MP -MF ".deps/lpf.Tpo" -c -o lpf.o lpf.c; \<br>
then mv -f ".deps/lpf.Tpo" ".deps/lpf.Po"; else rm -f ".deps/lpf.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT memory.o -MD -MP -MF ".deps/memory.Tpo" -c -o memory.o memory.c; \<br>
then mv -f ".deps/memory.Tpo" ".deps/memory.Po"; else rm -f ".deps/memory.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT nit.o -MD -MP -MF ".deps/nit.Tpo" -c -o nit.o nit.c; \<br>
then mv -f ".deps/nit.Tpo" ".deps/nit.Po"; else rm -f ".deps/nit.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT options.o -MD -MP -MF ".deps/options.Tpo" -c -o options.o options.c; \<br>
then mv -f ".deps/options.Tpo" ".deps/options.Po"; else rm -f ".deps/options.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT packet.o -MD -MP -MF ".deps/packet.Tpo" -c -o packet.o packet.c; \<br>
then mv -f ".deps/packet.Tpo" ".deps/packet.Po"; else rm -f ".deps/packet.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT parse.o -MD -MP -MF ".deps/parse.Tpo" -c -o parse.o parse.c; \<br>
then mv -f ".deps/parse.Tpo" ".deps/parse.Po"; else rm -f ".deps/parse.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT print.o -MD -MP -MF ".deps/print.Tpo" -c -o print.o print.c; \<br>
then mv -f ".deps/print.Tpo" ".deps/print.Po"; else rm -f ".deps/print.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT raw.o -MD -MP -MF ".deps/raw.Tpo" -c -o raw.o raw.c; \<br>
then mv -f ".deps/raw.Tpo" ".deps/raw.Po"; else rm -f ".deps/raw.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT resolv.o -MD -MP -MF ".deps/resolv.Tpo" -c -o resolv.o resolv.c; \<br>
then mv -f ".deps/resolv.Tpo" ".deps/resolv.Po"; else rm -f ".deps/resolv.Tpo"; exit 1; fi<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT socket.o -MD -MP -MF ".deps/socket.Tpo" -c -o socket.o socket.c; \<br>
then mv -f ".deps/socket.Tpo" ".deps/socket.Po"; else rm -f ".deps/socket.Tpo"; exit 1; fi<br>
socket.c: In function 'send_packet6':<br>
socket.c:591: error: invalid application of 'sizeof' to incomplete type 'struct in6_pktinfo' <br>
socket.c:628: error: dereferencing pointer to incomplete type<br>
socket.c:630: error: dereferencing pointer to incomplete type<br>
socket.c:631: error: dereferencing pointer to incomplete type<br>
socket.c: In function 'receive_packet6':<br>
socket.c:692: error: invalid application of 'sizeof' to incomplete type 'struct in6_pktinfo' <br>
socket.c:744: error: dereferencing pointer to incomplete type<br>
socket.c:745: error: dereferencing pointer to incomplete type<br>
make[2]: *** [socket.o] Error 1<br>
make[2]: Leaving directory `/scratch/dhcp-4.1.0/common'<br>
make[1]: *** [all-recursive] Error 1<br>
make[1]: Leaving directory `/scratch/dhcp-4.1.0/common'<br>
make: *** [all-recursive] Error 1<br>
[root@demo dhcp-4.1.0]#<br>
<br>
<br>
I did some google searches and found what appeared to be a pretty promising fix here.http://bugs.gentoo.org/229183
<br>
< snip ><br>
------- Comment #3 From Edward Killips 2008-07-28 00:58:49 0000 [reply] -------<br>
Adding #include <linux/ipv6.h> to common/socket.c will fix the problem<br>
< / snip ><br>
<br>
So I executed "vi common/socket.c<br>
I added "#include <linux/ipv6.h>" as stated. I then exexcuted "make".<br>
[root@demo dhcp-4.1.0]# vi common/socket.c <br>
[root@demo dhcp-4.1.0]# make <br>
Making all in includes<br>
make[1]: Entering directory `/scratch/dhcp-4.1.0/includes'<br>
make all-am<br>
make[2]: Entering directory `/scratch/dhcp-4.1.0/includes'<br>
make[2]: Nothing to be done for `all-am'.<br>
make[2]: Leaving directory `/scratch/dhcp-4.1.0/includes'<br>
make[1]: Leaving directory `/scratch/dhcp-4.1.0/includes'<br>
Making all in tests<br>
make[1]: Entering directory `/scratch/dhcp-4.1.0/tests'<br>
make[1]: Nothing to be done for `all'.<br>
make[1]: Leaving directory `/scratch/dhcp-4.1.0/tests'<br>
Making all in common<br>
make[1]: Entering directory `/scratch/dhcp-4.1.0/common'<br>
Making all in tests<br>
make[2]: Entering directory `/scratch/dhcp-4.1.0/common/tests'<br>
make[2]: Nothing to be done for `all'.<br>
make[2]: Leaving directory `/scratch/dhcp-4.1.0/common/tests'<br>
make[2]: Entering directory `/scratch/dhcp-4.1.0/common'<br>
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -static -MT socket.o -MD -MP -MF ".deps/socket.Tpo" -c -o socket.o socket.c; \<br>
then mv -f ".deps/socket.Tpo" ".deps/socket.Po"; else rm -f ".deps/socket.Tpo"; exit 1; fi<br>
In file included from /usr/include/linux/ipv6.h:4,<br>
from socket.c:48:<br>
/usr/include/linux/in6.h:31: error: redefinition of 'struct in6_addr'<br>
/usr/include/linux/in6.h:54: error: redefinition of 'struct sockaddr_in6'<br>
/usr/include/linux/in6.h:62: error: redefinition of 'struct ipv6_mreq'<br>
socket.c: In function 'if_register_multicast':<br>
socket.c:372: error: 'struct ipv6_mreq' has no member named 'ipv6mr_interface'<br>
socket.c:391: error: 'struct ipv6_mreq' has no member named 'ipv6mr_interface'<br>
make[2]: *** [socket.o] Error 1<br>
make[2]: Leaving directory `/scratch/dhcp-4.1.0/common'<br>
make[1]: *** [all-recursive] Error 1<br>
make[1]: Leaving directory `/scratch/dhcp-4.1.0/common'<br>
As you can tell by now, this created a new problem.