[Click] click for FreeBSD compile error

Pekka Nikander pekka.nikander at nomadiclab.com
Thu Nov 18 14:30:58 EST 2010


You can check out a working version from https://github.com/pnr/click

You need to pull the freebsd-kernelmodule-patches branch:

  git clone git://github.com/pnr/click.git
  git checkout freebsd-kernelmodule-patches

Please let us know how it goes.  It should work with both 7.X and 8.X, but so far we've done only minimal testing.  So, please report any bugs you encounter.

We haven't yet asked it to be merged since we are still looking at better ways to deal with scheduling.  Right now we are using netisr on 7.X and the alternative method on 8.X, as we haven't got netisr to work on 8.X.  Hopefully we will get both working on both, at some point.

---Pekka

On 2010-11 -18, at 16:52 , Cong Guo wrote:

> Hello everyone,
> 
> I want to use click as FreeBSD kernel module. I configure using
> --enable-bsdmodule, but when I make click I get this error:
> 
> **********************************************************************************************************
> 
> echo "userlevel  analysis app aqm ethernet icmp ip simple standard tcpudp
> test 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
>  AR libclick.a
>  RANLIB libclick.a
> ../click-buildtool elem2export < elements.conf > elements.cc
>  CXX elements.cc
>  LINK click
> echo "bsdmodule  analysis app aqm ethernet icmp ip simple standard tcpudp
> test threads" | ../click-buildtool findelem -r bsdmodule -p .. -X
> ./elements.exclude > elements.conf
> ../click-buildtool elem2make < elements.conf > elements.mk
> g++ -w -W -Wall -fno-exceptions -fno-rtti  -fpermissive -fpermissive
> -DHAVE_CONFIG_H -D_KERNEL -nostdinc -I../include -I../include -I. -I.. -I.
> -I/usr/include -I/usr/include -I/usr/include -DCLICK_BSDMODULE
> -DBSD_NETISRSCHED -O2 -g -fPIC -fno-builtin -c ../lib/straccum.cc
> In file included from ../lib/straccum.cc:26:
> ../include/click/timestamp.hh:266: error: 'static Click::Timestamp
> Click::Timestamp::make_jiffies(click_jiffies_difference_t)' cannot be
> overloaded
> ../include/click/timestamp.hh:264: error: with 'static Click::Timestamp
> Click::Timestamp::make_jiffies(click_jiffies_t)'
> ../include/click/timestamp.hh:927: error: redefinition of 'static
> Click::Timestamp Click::Timestamp::make_jiffies(click_jiffies_difference_t)'
> ../include/click/timestamp.hh:913: error: 'static Click::Timestamp
> Click::Timestamp::make_jiffies(click_jiffies_t)' previously defined here
> gmake: *** [straccum.o] Error 1
> *** Error code 2
> 
> Stop in /usr/src/click-1.8.0.
> 
> ***********************************************************************************************************************
> 
> FreeBSD version: 7.1 ( I tried 7.3 but also failed )
> click version: 1.8.0
> gmake version: 3.81
> 
> Can anyone help? Do I need to patch FreeBSD kernel?
> 
> Thanks,
> Cong
> 
> -- 
> Cong Guo
> 
> David R. Cheriton School of Computer Science,
> University of Waterloo, Waterloo, ON
> N2L 3G1
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click




More information about the click mailing list