Hello- The most current nsclick patches are included with the click distribution. The nsclick patches at Colorado are old and unmaintained at this point. I believe the directions here:
http://www.read.cs.ucla.edu/click/nsclick are what you want to use. That being said, if your're stuck using the older versions of ns-2 and the ns-2 nsclick patches there's still a reasonable chance that things will work, but I can imagine that a bit of tweaking might be required. As a start, have you been able to build regular userland Click without nsclick enabled? I noticed that you're building on cygwin -- that can sometimes complicate building *nix apps in general. -Mike Donkey Kong wrote: > Hi > > I am having a few problems getting click to run with ns-2. I have downloaded > the following packages: > > ns-allinone-2.26 > click-1.5.0 > nsclick-patch-2.26 > > I have unzipped and installed ns-2 without any problems but when trying to > 'make' click, I get errors. > The exact steps are as follows: > Downloaded ns-2.26 from http://www.isi.edu/nsnam/dist/ > Downloaded click-1.5.0 from http://www.read.cs.ucla.edu/click/download > Download patch 2.26 from http://systems.cs.colorado.edu/Networking/nsclick/ > Downloaded libnet from > http://www.linuxsoft.cz/en/sw_detail.php?id_item=6100#down > > I unpacked ns-2 with tar xvfz ns-allinone-2.26.tar.gz > I also unpacked click and libnet in the unpacked ns-allinone directory. > I applied the ns-2.26 patch > I made libnet using the freebsd makfiles. > I configured click, autoconf command could not be found. > ./configure -enable-nsclick -disable-linuxmodule: > The following results were returned: > $ ./configure -enable-nsclick -disable-linuxmodule > checking build system type... i686-pc-cygwin > checking host system type... i686-pc-cygwin > checking target system type... i686-pc-cygwin > checking for gcc... gcc > checking for g++... g++ > checking for gcc... (cached) gcc > checking for C compiler default output file name... a.exe > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... .exe > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ANSI C... none needed > checking how to run the C preprocessor... gcc -W -Wall -E > checking for inline... inline > checking whether we are using the GNU C++ compiler... yes > checking whether g++ accepts -g... yes > checking whether <new> works... yes > checking how to run the C++ preprocessor... g++ -W -Wall -E > checking for ar... ar > checking for ld... ld > checking for ranlib... ranlib > checking for strip... strip > checking whether we are compiling for Linux... no > checking for strerror... yes > checking for snprintf... yes > checking for strtoul... yes > checking for tcgetpgrp... yes > checking for vsnprintf... yes > checking whether machine is indifferent to alignment... yes > checking for egrep... grep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking for int... yes > checking size of int... 4 > checking for long... yes > checking size of long... 4 > checking for inttypes.h... (cached) yes > checking for long long... yes > checking size of long long... 8 > checking for long long... (cached) yes > checking for int64_t typedef... yes > checking for uint64_t typedef... yes > checking whether long and int64_t are the same type... no > checking for struct timeval... no > checking size of struct timeval... 0 > checking for struct timespec... yes > checking for struct timespec... (cached) yes > checking size of struct timespec... 8 > checking endian.h usability... yes > checking endian.h presence... yes > checking for endian.h... yes > checking endianness... 1234 > checking byteswap.h usability... yes > checking byteswap.h presence... yes > checking for byteswap.h... yes > checking for addressable va_list type... yes > checking for __builtin_clz... yes > checking for __builtin_clzl... yes > checking for __builtin_clzll... yes > checking for __builtin_ffs... yes > checking for __builtin_ffsl... yes > checking for __builtin_ffsll... yes > checking for strings.h... (cached) yes > checking for ffs... yes > checking for ffsl... no > checking for ffsll... no > checking for unistd.h... (cached) yes > checking termio.h usability... yes > checking termio.h presence... yes > checking for termio.h... yes > checking netdb.h usability... yes > checking netdb.h presence... yes > checking for netdb.h... yes > checking sys/event.h usability... no > checking sys/event.h presence... no > checking for sys/event.h... no > checking pwd.h usability... yes > checking pwd.h presence... yes > checking for pwd.h... yes > checking grp.h usability... yes > checking grp.h presence... yes > checking for grp.h... yes > checking poll.h usability... yes > checking poll.h presence... yes > checking for poll.h... yes > checking whether <poll.h> is emulated... no > checking for sigaction... yes > checking for kqueue... no > checking dlfcn.h usability... yes > checking dlfcn.h presence... yes > checking for dlfcn.h... yes > checking for dlopen... yes > checking compiler flags for building loadable modules... -shared > checking for library containing gethostbyname... none required > checking for library containing connect... none required > checking whether accept() uses socklen_t... yes > checking for large file support in C library... yes > checking for off_t... yes > checking size of off_t... 8 > checking sys/mman.h usability... yes > checking sys/mman.h presence... yes > checking for sys/mman.h... yes > checking for stdlib.h... (cached) yes > checking for unistd.h... (cached) yes > checking for getpagesize... yes > checking for working mmap... no > checking for madvise... no > checking whether madvise is declared... no > checking linux/if_tun.h usability... no > checking linux/if_tun.h presence... no > checking for linux/if_tun.h... no > checking net/if_tun.h usability... no > checking net/if_tun.h presence... no > checking for net/if_tun.h... no > checking net/bpf.h usability... no > checking net/bpf.h presence... no > checking for net/bpf.h... no > checking for pcap.h... not found > configure: WARNING: > ========================================= > > pcap.h and/or -lpcap not found; user-level driver can't steal packets. > > ========================================= > checking whether struct if_data has ifi_datalen... no > checking expat.h usability... yes > checking expat.h presence... yes > checking for expat.h... yes > checking for XML_ParserCreateNS in -lexpat... yes > checking for a BSD-compatible install... /usr/bin/install -c > checking whether install accepts -C... no > checking for GNU make... make > checking for working autoconf... missing > checking for perl5... no > checking for perl... perl > checking for working makeinfo... found > checking for working texi2dvi... found > checking for install-info... /usr/bin/install-info > checking for working install-info... found > configure: creating ./config.status > config.status: creating Makefile > config.status: creating click-buildtool > config.status: creating click-compile > config.status: creating config.mk > config.status: creating installch > config.status: creating tools/Makefile > config.status: creating tools/lib/Makefile > config.status: creating doc/Makefile > config.status: creating etc/libclick/Makefile > config.status: creating etc/pkg-config.mk > config.status: creating bsdmodule/Makefile > config.status: creating linuxmodule/Makefile > config.status: creating ns/Makefile > config.status: creating userlevel/Makefile > config.status: creating tools/click-align/Makefile > config.status: creating tools/click-check/Makefile > config.status: creating tools/click-combine/Makefile > config.status: creating tools/click-devirtualize/Makefile > config.status: creating tools/click-fastclassifier/Makefile > config.status: creating tools/click-flatten/Makefile > config.status: creating tools/click-mkmindriver/Makefile > config.status: creating tools/click-pretty/Makefile > config.status: creating tools/click-undead/Makefile > config.status: creating tools/click-xform/Makefile > config.status: creating tools/click2xml/Makefile > config.status: creating tools/click-install/Makefile > config.status: creating include/click/config.h > config.status: creating include/click/pathvars.h > config.status: creating include/click/config-bsdmodule.h > config.status: creating include/click/config-linuxmodule.h > config.status: creating include/click/config-ns.h > config.status: creating include/click/config-userlevel.h > config.status: executing default-1 commands > > > In particular I think these lines > configure: WARNING: > ========================================= > > pcap.h and/or -lpcap not found; user-level driver can't steal packets. > > ========================================= > > were important. After this I changed to the ns directory and typed make. The > following was the output: > $ make > echo "ns userlevel app aqm ethernet icmp ip standard tcpudp" | > ../click-buildtool findelem -r ns -p .. > elements.conf > ../click-buildtool elem2make -x "addressinfo.o alignmentinfo.o > errorelement.o portinfo.o scheduleinfo.o" < elements.conf > elements.mk > CXX ../lib/string.cc > ../lib/string.cc:1: warning: -fpic ignored for target (all code is position > independent) > CXX ../lib/straccum.cc > ../lib/straccum.cc:1: warning: -fpic ignored for target (all code is > position independent) > CXX ../lib/nameinfo.cc > ../lib/nameinfo.cc:1: warning: -fpic ignored for target (all code is > position independent) > In file included from ../include/click/packet.hh:5, > from ../include/click/element.hh:7, > from ../include/click/router.hh:4, > from ../lib/nameinfo.cc:23: > ../include/click/ip6address.hh: In member function `unsigned int* > Click::IP6Address::data32()': > ../include/click/ip6address.hh:28: error: invalid conversion from > `uint32_t*' to `unsigned int*' > ../include/click/ip6address.hh: In member function `const unsigned int* > Click::IP6Address::data32() const': > ../include/click/ip6address.hh:29: error: invalid conversion from `const > uint32_t*' to `const unsigned int*' > ../include/click/ip6address.hh: In member function `Click::IP6Address& > Click::IP6Address::operator&=(const click_in6_addr&)': > ../include/click/ip6address.hh:119: error: invalid conversion from `const > uint32_t*' to `const unsigned int*' > > > > I was wondering does anyone know what the problem could be? > > Thanks in advance for any help, and of course merry christmas to you all. > > Cheers > Brian > > _______________________________________________ > click mailing list > click@amsterdam.lcs.mit.edu > https://amsterdam.lcs.mit.edu/mailman/listinfo/click > -- ******************************* Michael J. Neufeld, Ph.D. Network Scientist BBN Technologies 10 Moulton St. Cambridge, MA 02138 http://www.bbn.com ******************************* _______________________________________________ click mailing list click@amsterdam.lcs.mit.edu https://amsterdam.lcs.mit.edu/mailman/listinfo/click