[Click] IP6 enanle problem

竺昱 zhuyudtc at gmail.com
Sun Apr 19 20:53:18 EDT 2009


Hi, everyone. I have a problem when using click router. I need some
function which supports ipv6, or there are errors like "undefined type
ip6_addr" when using click.
i think the reason is the HAVE_IP6 in the 'config.h' is not defined by
deafault.
I modified "configure.in" and replace line "ELEMENTS_ARG_ENABLE(ip6,
[include IPv6 elements (EXPERIMENTAL)], NO, AC_DEFINE(HAVE_IP6))"
with "ELEMENTS_ARG_ENABLE(ip6, [include IPv6 elements], yes)" , but
after "./configure" the argument of HAVE_IP6 is still not enabled.
At last I manually replace the line "/* #undef HAVE_IP6 */" with
"#define HAVE_IP6 1" , but after that when i use "make install" it
reports errors as follows:

/home/sirs/Desktop/click-1.6.0/userlevel/../lib/confparse.cc:4752:
undefined reference to `IP6FlowID_linker_trick'
libclick.a(confparse.o): In function `cp_ip6_prefix(String const&,
unsigned char*, int*, bool, Element*)':
/home/sirs/Desktop/click-1.6.0/userlevel/../lib/confparse.cc:2418:
undefined reference to `IP6Address::IP6Address(unsigned char const*)'
/home/sirs/Desktop/click-1.6.0/userlevel/../lib/confparse.cc:2418:
undefined reference to `IP6Address::mask_to_prefix_len() const'
libclick.a(confparse.o): In function `cp_ip6_prefix(String const&,
unsigned char*, unsigned char*, bool, Element*)':
/home/sirs/Desktop/click-1.6.0/userlevel/../lib/confparse.cc:2440:
undefined reference to `IP6Address::make_prefix(int)'
libclick.a(addressinfo.o): In function
`AddressInfo::configure(Vector<String>&, ErrorHandler*)':
/home/sirs/Desktop/click-1.6.0/userlevel/../elements/standard/addressinfo.cc:96:
undefined reference to `IP6Address::make_prefix(int)'
libclick.a(addressinfo.o): In function `operator~':
/home/sirs/Desktop/click-1.6.0/userlevel/../include/click/ip6address.hh:171:
undefined reference to `IP6Address::IP6Address()'
libclick.a(addressinfo.o): In function `operator&':
/home/sirs/Desktop/click-1.6.0/userlevel/../include/click/ip6address.hh:149:
undefined reference to `IP6Address::IP6Address()'
collect2: ld returned 1 exit status
make[1]: *** [click] Error 1
make[1]: Leaving directory `/home/sirs/Desktop/click-1.6.0/userlevel'
make: *** [install] Error 1

ps. I also tried the 1.7.0 version and the errors are the same.

so I try to enable IP6 functions and failed. Would anyone tell me how to do it?
Thanks


More information about the click mailing list