[Click] kernel complile problem

Eddie Kohler kohler at cs.ucla.edu
Thu Dec 10 20:27:30 EST 2009


Alan,

I think you need to tell ./configure where your patched kernel sources 
are.  It looks like ./configure was not able to find the kernel sources 
on its own, so didn't even try to build a Linux version.  Supply a 
--with-linux=LINUX_BUILD_DIRECTORY argument, such as 
--with-linux=/lib/modules/VERSION/build

Hope this helps.

Eddie


Mick Woods wrote:
> I am trying to get click installed as a kernel module. It appears to not 
> be installing correctly as theree is no click-install in /usr/local/sbin 
> and no .ko files in /usr/local/lib.
> 
> 
> O.S: Ubuntu 8.10
> 
> kernel: linux-source-2.6.24.6
> 
> patch: 2.6.24.7
> 
> I have applied the kernel patch and recompiled the kernel.
> 
> I am using all the default directory locations.
> 
> the ./configure and make install appears to work with no errors, listed 
> below is the output from these actions.
> 
> /sbin/lsmod shows no module
> 
> (1) How do I check what the status of the install is
> (2) could someone let me know what I should check in the make install 
> files.
> (3) any hints on getting it to work would be gratefully accepted.
> 
> 
> Many thanks
> Alan
> 
> 
> Results of ./configure
> 
> root at Xorp:/home/alan/Desktop/click/click-1.7.0rc1# rm -f config.cache; 
> ./configure
> checking build system type... i686-pc-linux-gnu
> checking host system type... i686-pc-linux-gnu
> checking target system type... i686-pc-linux-gnu
> checking for gcc... gcc
> checking for g++... g++
> checking for gcc... (cached) gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> 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 ISO C89... none needed
> checking how to run the C preprocessor... gcc -E
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/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 sys/types.h... (cached) yes
> checking for unistd.h... (cached) yes
> checking how to run the C preprocessor... gcc -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... yes
> checking for strerror... yes
> checking for random... yes
> checking for snprintf... yes
> checking for strtoul... yes
> checking for tcgetpgrp... yes
> checking for vsnprintf... yes
> checking for int... yes
> checking size of int... 4
> checking for long... yes
> checking size of long... 4
> checking for size_t... yes
> checking size of size_t... 4
> checking for inttypes.h... (cached) yes
> checking whether machine is indifferent to alignment... yes
> checking for long long... yes
> checking size of long long... 8
> checking for long long... (cached) yes
> checking for int64_t... yes
> checking for uint64_t... yes
> checking whether long and int64_t are the same type... no
> checking whether long long and int64_t are the same type... yes
> 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 whether signed right shift is arithmetic... 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... yes
> checking for ffsll... yes
> checking time.h usability... yes
> checking time.h presence... yes
> checking for time.h... yes
> checking for struct timeval... yes
> checking size of struct timeval... 8
> checking for struct timespec... yes
> checking for struct timespec... (cached) yes
> checking size of struct timespec... 8
> checking whether clock_gettime is declared... yes
> checking for library containing clock_gettime... -lrt
> 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... no
> checking for dlopen in -ldl... 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... yes
> checking for madvise... yes
> checking whether madvise is declared... yes
> checking linux/if_tun.h usability... yes
> checking linux/if_tun.h presence... yes
> checking for linux/if_tun.h... yes
> checking net/if_tun.h usability... no
> checking net/if_tun.h presence... no
> checking for net/if_tun.h... no
> checking net/if_tap.h usability... no
> checking net/if_tap.h presence... no
> checking for net/if_tap.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
> checking whether struct if_data has ifi_datalen... no
> checking whether struct sockaddr_in has sin_len... no
> checking expat.h usability... no
> checking expat.h presence... no
> checking for expat.h... no
> checking for XML_ParserCreateNS in -lexpat... no
> 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... found
> checking for perl5... no
> checking for perl... perl
> checking for gawk... no
> checking for mawk... mawk
> checking for grep that handles long lines and -e... (cached) /bin/grep
> checking for egrep... (cached) /bin/grep -E
> checking for working makeinfo... missing
> checking for working texi2dvi... missing
> checking for install-info... /usr/sbin/install-info
> checking for working install-info... found
> checking for working pod2man... 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: include/click/config.h is unchanged
> config.status: creating include/click/pathvars.h
> config.status: include/click/pathvars.h is unchanged
> config.status: creating include/click/config-bsdmodule.h
> config.status: include/click/config-bsdmodule.h is unchanged
> config.status: creating include/click/config-linuxmodule.h
> config.status: include/click/config-linuxmodule.h is unchanged
> config.status: creating include/click/config-ns.h
> config.status: include/click/config-ns.h is unchanged
> config.status: creating include/click/config-userlevel.h
> config.status: include/click/config-userlevel.h is unchanged
> config.status: executing default-1 commands
> 
> 
> results of make install
> 
> root at Xorp:/home/alan/Desktop/click/click-1.7.0rc1# make install
> make[1]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/userlevel'
> echo "userlevel  app aqm ethernet icmp ip standard tcpudp threads" | 
> ../click-buildtool findelem -r userlevel -p .. -X ./elements.exclude > 
> elements.conf
> ../click-buildtool elem2make -x "addressinfo.o alignmentinfo.o 
> errorelement.o portinfo.o scheduleinfo.o" < elements.conf > elements.mk
> make[1]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/userlevel'
> make[1]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/userlevel'
>  AR libclick.a
>  RANLIB libclick.a
> ../click-buildtool elem2export < elements.conf > elements.cc
>  CXX elements.cc
>  LINK click
> ../mkinstalldirs /usr/local/lib
> for i in libclick.a; do /usr/bin/install -c $i /usr/local/lib/$i; done
> ../mkinstalldirs /usr/local/bin
> for i in click; do /usr/bin/install -c $i /usr/local/bin/$i; done
> make[1]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/userlevel'
> make[1]: Entering directory `/home/alan/Desktop/click/click-1.7.0rc1/tools'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/lib'
>  AR libclicktool.a
>  RANLIB libclicktool.a
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/lib'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/lib'
> ../../mkinstalldirs /usr/local/include/clicktool
> ../../installch -m 644 ./*.hh /usr/local/include/clicktool
> ../../mkinstalldirs /usr/local/lib
> /usr/bin/install -c libclicktool.a /usr/local/lib/libclicktool.a
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/lib'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-align'
>  LINK click-align
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-align /usr/local/bin/click-align
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-align'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-check'
>  LINK click-check
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-check /usr/local/bin/click-check
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-check'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-combine'
>  LINK click-combine
>  LINK click-uncombine
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-combine /usr/local/bin/click-combine
> /usr/bin/install -c click-uncombine /usr/local/bin/click-uncombine
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-combine'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-devirtualize'
>  LINK click-devirtualize
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-devirtualize /usr/local/bin/click-devirtualize
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-devirtualize'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-fastclassifier'
>  LINK click-fastclassifier
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-fastclassifier 
> /usr/local/bin/click-fastclassifier
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-fastclassifier'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-flatten'
>  LINK click-flatten
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-flatten /usr/local/bin/click-flatten
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-flatten'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-mkmindriver'
>  LINK click-mkmindriver
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-mkmindriver /usr/local/bin/click-mkmindriver
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-mkmindriver'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-pretty'
>  LINK click-pretty
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-pretty /usr/local/bin/click-pretty
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-pretty'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-undead'
>  LINK click-undead
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-undead /usr/local/bin/click-undead
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-undead'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-xform'
>  LINK click-xform
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click-xform /usr/local/bin/click-xform
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click-xform'
> make[2]: Entering directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click2xml'
>  LINK click2xml
> ../../mkinstalldirs /usr/local/bin
> /usr/bin/install -c click2xml /usr/local/bin/click2xml
> test -z "" || /usr/bin/install -c xml2click /usr/local/bin/xml2click
> make[2]: Leaving directory 
> `/home/alan/Desktop/click/click-1.7.0rc1/tools/click2xml'
> make[1]: Leaving directory `/home/alan/Desktop/click/click-1.7.0rc1/tools'
> make[1]: Entering directory `/home/alan/Desktop/click/click-1.7.0rc1'
> echo userlevel  app aqm ethernet icmp ip standard tcpudp threads  | 
> ./click-buildtool findelem -r "i686 i386 i586 int64 linux  userlevel" -p 
> . | perl ./click-mkelemmap -r "i686 i386 i586 int64 linux " -t 
> "userlevel" -p . -Iinclude -s "`cd . && pwd`"  > elementmap.xml
> ./mkinstalldirs /usr/local/bin
> ./installch click-buildtool /usr/local/bin/click-buildtool
> ./installch click-compile /usr/local/bin/click-compile
> ./installch ./click-mkelemmap /usr/local/bin/click-mkelemmap
> ./installch ./test/testie /usr/local/bin/testie
> ./mkinstalldirs /usr/local/share/click
> /usr/bin/install -c ./mkinstalldirs /usr/local/share/click/mkinstalldirs
> /usr/bin/install -c -m 644 elementmap.xml 
> /usr/local/share/click/elementmap.xml
> ./installch -m 644 config.mk /usr/local/share/click/config.mk
> ./installch -m 644 etc/pkg-config.mk /usr/local/share/click/pkg-config.mk
> ./installch -m 644 ./etc/pkg-Makefile /usr/local/share/click/pkg-Makefile
> 
> ./installch -m 644 ./etc/pkg-userlevel.mk 
> /usr/local/share/click/pkg-userlevel.mk
> ./installch -m 644 ./etc/pkg-linuxmodule.mk 
> /usr/local/share/click/pkg-linuxmodule.mk
> ./installch -m 644 ./etc/pkg-linuxmodule-26.mk 
> /usr/local/share/click/pkg-linuxmodule-26.mk
> (cd .; pwd) > /usr/local/share/click/srcdir
> /bin/rm -rf /usr/local/share/click/src
> /bin/ln -s "`cd .; pwd`" /usr/local/share/click/src
> make[2]: Entering directory `/home/alan/Desktop/click/click-1.7.0rc1/doc'
> ../mkinstalldirs /usr/local/share/man/man1 /usr/local/share/man/man3 
> /usr/local/share/man/man5 /usr/local/share/man/man7 
> /usr/local/share/man/man8 /usr/local/share/man/mann
> /usr/bin/install -c -m 644 ./click.1 /usr/local/share/man/man1/click.1
> /usr/bin/install -c -m 644 ./click.5 /usr/local/share/man/man5/click.5
> /usr/bin/install -c -m 644 ./click.o.8 /usr/local/share/man/man8/click.o.8
> /usr/bin/install -c -m 644 ./click-align.1 
> /usr/local/share/man/man1/click-align.1
> /usr/bin/install -c -m 644 ./click-combine.1 
> /usr/local/share/man/man1/click-combine.1
> /usr/bin/install -c -m 644 ./click-devirtualize.1 
> /usr/local/share/man/man1/click-devirtualize.1
> /usr/bin/install -c -m 644 ./click-fastclassifier.1 
> /usr/local/share/man/man1/click-fastclassifier.1
> /usr/bin/install -c -m 644 ./click-flatten.1 
> /usr/local/share/man/man1/click-flatten.1
> /usr/bin/install -c -m 644 ./click-install.1 
> /usr/local/share/man/man1/click-install.1
> /usr/bin/install -c -m 644 ./click-mkmindriver.1 
> /usr/local/share/man/man1/click-mkmindriver.1
> /usr/bin/install -c -m 644 ./click-pretty.1 
> /usr/local/share/man/man1/click-pretty.1
> /usr/bin/install -c -m 644 ./click-uncombine.1 
> /usr/local/share/man/man1/click-uncombine.1
> /usr/bin/install -c -m 644 ./click-undead.1 
> /usr/local/share/man/man1/click-undead.1
> /usr/bin/install -c -m 644 ./click-uninstall.1 
> /usr/local/share/man/man1/click-uninstall.1
> /usr/bin/install -c -m 644 ./click-xform.1 
> /usr/local/share/man/man1/click-xform.1
> /usr/bin/install -c -m 644 ./elementdoc.7 
> /usr/local/share/man/man7/elementdoc.7
> /usr/bin/install -c -m 644 testie.1 /usr/local/share/man/man1/testie.1
> perl ./click-elem2man -l -d /usr/local/share/man/mann -P DEFAULT -p .. 
> ../elementmap.xml
> click-elem2man: warning: category 'devices' begins with a lowercase 
> letter (used in UMLSwitch)
> click-elem2man: warning: category 'devices' begins with a lowercase 
> letter (used in UMLSwitch)
> ../mkinstalldirs /usr/local/share/info
> /usr/bin/install -c -m 644 click.info /usr/local/share/info/click.info
> /usr/sbin/install-info --info-dir=/usr/local/share/info 
> /usr/local/share/info/click.info 2>&1 >/dev/null
> ../mkinstalldirs /usr/local/bin
> /usr/bin/install -c ./click-elem2man /usr/local/bin/click-elem2man
> make[2]: Leaving directory `/home/alan/Desktop/click/click-1.7.0rc1/doc'
> ./mkinstalldirs /usr/local/include/click
> ./installch -m 644 ./include/click/*.h /usr/local/include/click
> ./installch -m 644 ./include/click/*.hh /usr/local/include/click
> ./installch -m 644 ./include/click/*.cc /usr/local/include/click
> ./installch -m 644 ./include/click/*.h /usr/local/include/click
> ./mkinstalldirs /usr/local/include/click/standard
> ./installch -m 644 ./include/click/standard/*.hh 
> /usr/local/include/click/standard
> ./mkinstalldirs /usr/local/include/clicknet
> ./installch -m 644 ./include/clicknet/*.h /usr/local/include/clicknet
> make[1]: Leaving directory `/home/alan/Desktop/click/click-1.7.0rc1'
> 
> 
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list