Open kunrenzhilu opened 7 years ago
Looking at commits the last version known to compile seems to be 4.2.
The build process went through. No error and no relevant warning. However, those core elements are not built. Then I went to check the elements.conf inside ./linuxmodule/, the followings are the only ones that related to "linuxmodule" 90 ../elements/linuxmodule/cyclecountaccum.cc "../elements/linuxmodule/cyclecountaccum.hh" CycleCountAccum-CycleCountAccum 91 ../elements/linuxmodule/fastudpsrc.cc "../elements/linuxmodule/fastudpsrc.hh" FastUDPSource-FastUDPSource 92 ../elements/linuxmodule/fromuserdevice.cc "../elements/linuxmodule/fromuserdevice.hh" FromUserDevice-FromUserDevice 93 ../elements/linuxmodule/rtcycles.cc "../elements/linuxmodule/rtcycles.hh" RTCycles-RoundTripCycleCount 94 ../elements/linuxmodule/schedulelinux.cc "../elements/linuxmodule/schedulelinux.hh" ScheduleLinux-ScheduleLinux 95 ../elements/linuxmodule/setcyclecount.cc "../elements/linuxmodule/setcyclecount.hh" SetCycleCount-SetCycleCount 96 ../elements/linuxmodule/touserdevice.cc "../elements/linuxmodule/touserdevice.hh" ToUserDevice-ToUserDevice ToUserDevice-!si ToUserDevice-!sc
Also, there's no something like "elements.exclude". Then, what should I do to let the click router build the elemnts I need? How should I check the prerequisite? Or any other suggestions?
linuxmodule implies dependencies in some elements and bits of code which are not under elements/linuxmodule neither linuxmodule. I think you're taking the wrong path to the problem. Can we have the full build log?
@tbarbette I may come into the same problem.
sudo ./configure --with-linux=/usr/src/linux-headers-
uname -r
--with-linux-map=/boot/System.map-uname -r
--enable-linuxmodule --disable-userlevel
Here is the build log.
make[1]: Entering directory
/home/wtao/Workspace/click/linuxmodule' echo "linuxmodule analysis app aqm ethernet icmp ip simple standard tcpudp test threads" | ../bin/click-buildtool findelem -r linuxmodule -p .. -X ./elements.exclude --checksum elements.csmk > elements.conf ../bin/click-buildtool elem2make --linux -x "addressinfo.o alignmentinfo.o errorelement.o portinfo.o scheduleinfo.o" < elements.conf > elements.mk ../bin/click-buildtool elem2export < elements.conf > elements.cc make -C /usr/src/linux-headers-4.4.0-38-generic M=/home/wtao/Workspace/click/linuxmodule modules make[2]: Entering directory
/usr/src/linux-headers-4.4.0-38-generic' CC [M] crc32.o CC [M] in_cksum.o CXX [M] string.o CXX [M] straccum.o CXX [M] nameinfo.o CXX [M] bitvector.o CXX [M] bighashmap_arena.o CXX [M] hashallocator.o CXX [M] ipaddress.o CXX [M] ipflowid.o CXX [M] etheraddress.o CXX [M] packet.o CXX [M] error.o CXX [M] timestamp.o CXX [M] glue.o /home/wtao/Workspace/click/linuxmodule/../lib/glue.cc: In function ‘int click_qsort(void, size_t, size_t, int ()(const void, const void, void), void)’: /home/wtao/Workspace/click/linuxmodule/../lib/glue.cc:668:1: warning: the frame size of 1136 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ CXX [M] task.o CXX [M] timer.o CXX [M] atomic.o CXX [M] gaprate.o CXX [M] element.o CXX [M] confparse.o CXX [M] args.o CXX [M] variableenv.o CXX [M] lexer.o CXX [M] elemfilter.o CXX [M] routervisitor.o CXX [M] routerthread.o CXX [M] router.o CXX [M] master.o CXX [M] timerset.o CXX [M] handlercall.o CXX [M] notifier.o CXX [M] integers.o CXX [M] iptable.o CXX [M] driver.o CXX [M] ino.o CXX [M] addressinfo.o CXX [M] alignmentinfo.o CXX [M] errorelement.o CXX [M] portinfo.o CXX [M] scheduleinfo.o CXX [M] adjusttimestamp.o CXX [M] aggregateipflows.o CXX [M] aggregatenotifier.o CXX [M] anonipaddr.o CXX [M] eraseippayload.o CXX [M] settimestampdelta.o CXX [M] storetimestamp.o CXX [M] storeudptimeseqrecord.o CXX [M] timefilter.o CXX [M] timerange.o CXX [M] timesortedsched.o CXX [M] ftpportmapper.o CXX [M] adaptivered.o CXX [M] codel.o CXX [M] red.o CXX [M] arpfaker.o CXX [M] arpprint.o CXX [M] arpquerier.o CXX [M] arpresponder.o CXX [M] arptable.o CXX [M] checkarpheader.o CXX [M] ensureether.o CXX [M] etherencap.o CXX [M] ethermirror.o CXX [M] etherpausesource.o CXX [M] etherrewrite.o CXX [M] ethervlanencap.o CXX [M] getetheraddress.o CXX [M] hostetherfilter.o CXX [M] setetheraddress.o CXX [M] setvlananno.o CXX [M] storeetheraddress.o CXX [M] stripethervlanheader.o CXX [M] vlandecap.o CXX [M] vlanencap.o CXX [M] checkicmpheader.o CXX [M] icmperror.o CXX [M] icmpipencap.o CXX [M] icmppingencap.o CXX [M] icmppingresponder.o CXX [M] icmppingrewriter.o CXX [M] icmprewriter.o CXX [M] icmpsendpings.o CXX [M] checkipheader.o CXX [M] checkipheader2.o CXX [M] decipttl.o CXX [M] fixipsrc.o CXX [M] getipaddress.o CXX [M] ipaddrpairrewriter.o CXX [M] ipaddrrewriter.o CXX [M] ipclassifier.o CXX [M] ipencap.o CXX [M] ipfieldinfo.o CXX [M] ipfilter.o CXX [M] ipfragmenter.o CXX [M] ipgwoptions.o CXX [M] ipinputcombo.o CXX [M] ipmirror.o CXX [M] ipnameinfo.o CXX [M] ipoutputcombo.o CXX [M] ipprint.o CXX [M] ipreassembler.o CXX [M] iprewriterbase.o CXX [M] iproutetable.o CXX [M] iprwmapping.o CXX [M] iprwpattern.o CXX [M] iprwpatterns.o CXX [M] lineariplookup.o CXX [M] lookupiproute.o CXX [M] lookupiproutemp.o CXX [M] markipce.o CXX [M] markipheader.o CXX [M] radixiplookup.o CXX [M] rfc2507c.o CXX [M] rfc2507d.o CXX [M] ripsend.o CXX [M] rripmapper.o CXX [M] setipaddress.o CXX [M] setipchecksum.o CXX [M] setipdscp.o CXX [M] setipecn.o CXX [M] setrandipaddress.o CXX [M] siphmapper.o /home/wtao/Workspace/click/linuxmodule/../elements/ip/siphmapper.cc: In constructor ‘SourceIPHashMapper::SourceIPHashMapper()’: /home/wtao/Workspace/click/linuxmodule/../elements/ip/siphmapper.cc:31:18: warning: invalid conversion from ‘void’ to ‘chash_t’ [-fpermissive] : _hasher (NULL) ^ CXX [M] sortediplookup.o CXX [M] storeipaddress.o CXX [M] stripipheader.o CXX [M] truncateippayload.o CXX [M] unstripipheader.o CXX [M] cyclecountaccum.o CXX [M] fastudpsrc.o CXX [M] fromuserdevice.o CXX [M] rtcycles.o CXX [M] schedulelinux.o CXX [M] setcyclecount.o CXX [M] touserdevice.o /home/wtao/Workspace/click/linuxmodule/../elements/linuxmodule/touserdevice.cc: In member function ‘virtual int ToUserDevice::configure(Vector &, ErrorHandler*)’: /home/wtao/Workspace/click/linuxmodule/../elements/linuxmodule/touserdevice.cc:358:12: warning: unused variable ‘dev’ [-Wunused-variable] dev_t dev; ^ CXX [M] simpleidle.o CXX [M] simplepriosched.o CXX [M] simplepullswitch.o CXX [M] simplerrsched.o CXX [M] align.o CXX [M] annotationinfo.o CXX [M] averagecounter.o CXX [M] bandwidthmeter.o CXX [M] bandwidthshaper.o CXX [M] block.o CXX [M] burster.o CXX [M] bwratedsplitter.o CXX [M] bwratedunqueue.o CXX [M] bypass.o CXX [M] checkcrc32.o CXX [M] checklength.o CXX [M] checkpaint.o CXX [M] classification.o CXX [M] classifier.o CXX [M] clickyinfo.o CXX [M] clipboard.o CXX [M] compblock.o CXX [M] counter.o CXX [M] cpuqueue.o CXX [M] cpuswitch.o CXX [M] delayshaper.o CXX [M] delayunqueue.o CXX [M] devirtualizeinfo.o CXX [M] discard.o CXX [M] discardnofree.o CXX [M] drivermanager.o CXX [M] dropbroadcasts.o CXX [M] drr.o CXX [M] flowinfo.o CXX [M] frontdropqueue.o CXX [M] fullnotequeue.o CXX [M] hashswitch.o CXX [M] hub.o CXX [M] idle.o CXX [M] infinitesource.o CXX [M] inputswitch.o CXX [M] linkunqueue.o CXX [M] markmacheader.o CXX [M] messageelement.o CXX [M] meter.o CXX [M] mixedqueue.o CXX [M] notifierqueue.o CXX [M] nullelement.o CXX [M] nulls.o CXX [M] pad.o CXX [M] paint.o CXX [M] paintswitch.o CXX [M] painttee.o CXX [M] print.o CXX [M] priosched.o CXX [M] pullswitch.o CXX [M] quicknotequeue.o CXX [M] quitwatcher.o CXX [M] randomerror.o CXX [M] randomsample.o CXX [M] randomsource.o CXX [M] randomswitch.o CXX [M] ratedsource.o CXX [M] ratedsplitter.o CXX [M] ratedunqueue.o CXX [M] resize.o CXX [M] rrsched.o CXX [M] rrswitch.o CXX [M] script.o CXX [M] setannobyte.o CXX [M] setcrc32.o CXX [M] setpackettype.o CXX [M] settimestamp.o CXX [M] shaper.o CXX [M] simplequeue.o CXX [M] staticpullswitch.o CXX [M] staticswitch.o CXX [M] storedata.o CXX [M] stridesched.o CXX [M] strideswitch.o CXX [M] strip.o CXX [M] striptonet.o CXX [M] suppressor.o CXX [M] switch.o CXX [M] tee.o CXX [M] threadsafequeue.o CXX [M] timedsink.o CXX [M] timedsource.o CXX [M] timedunqueue.o CXX [M] truncate.o CXX [M] unqueue.o CXX [M] unqueue2.o CXX [M] unstrip.o CXX [M] checktcpheader.o CXX [M] checkudpheader.o CXX [M] dynudpipencap.o CXX [M] fasttcpflows.o CXX [M] fastudpflows.o CXX [M] iprewriter.o CXX [M] settcpchecksum.o CXX [M] setudpchecksum.o CXX [M] tcpfragmenter.o CXX [M] tcpipsend.o CXX [M] tcprewriter.o CXX [M] udpipencap.o CXX [M] udprewriter.o CXX [M] bhmtest.o CXX [M] bitvectortest.o CXX [M] checkpacket.o CXX [M] comparepackets.o CXX [M] confparsetest.o CXX [M] cryptotest.o CXX [M] dequetest.o CXX [M] errortest.o CXX [M] functiontest.o CXX [M] handlertask.o CXX [M] hashtabletest.o CXX [M] heaptest.o CXX [M] listtest.o CXX [M] mtdietest.o CXX [M] neighborhoodtest.o CXX [M] notifierdebug.o CXX [M] notifiertest.o CXX [M] nulltask.o CXX [M] packettest.o CXX [M] queueyanktest.o CXX [M] randomseed.o CXX [M] schedordertest.o CXX [M] sorttest.o CXX [M] taskthreadtest.o CXX [M] timertest.o CXX [M] tokenbuckettest.o CXX [M] upstreamnotifier.o CXX [M] vectortest.o CXX [M] spinlockacquire.o CXX [M] spinlockinfo.o CXX [M] spinlockpush.o CXX [M] spinlockrelease.o CXX [M] staticthreadsched.o CC [M] kernelversion.o CC [M] read-pmc.o CXX [M] config.o CXX [M] sched.o CXX [M] module.o CXX [M] clickfs.o CXX [M] skbmgr.o CXX [M] elements.o CREATE /home/wtao/Workspace/click/linuxmodule/ksyms.c CC [M] ksyms.o LD [M] /home/wtao/Workspace/click/linuxmodule/click.o CC [M] /home/wtao/Workspace/click/linuxmodule/proclikefsmod.o /home/wtao/Workspace/click/linuxmodule/proclikefs.c: In function ‘proclikefs_unregister_filesystem.part.0’: /home/wtao/Workspace/click/linuxmodule/proclikefs.c:335:1: warning: the frame size of 2248 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ LD [M] /home/wtao/Workspace/click/linuxmodule/proclikefs.o Building modules, stage 2. MODPOST 2 modules CC /home/wtao/Workspace/click/linuxmodule/click.mod.o LD [M] /home/wtao/Workspace/click/linuxmodule/click.ko CC /home/wtao/Workspace/click/linuxmodule/proclikefs.mod.o LD [M] /home/wtao/Workspace/click/linuxmodule/proclikefs.ko make[2]: Leaving directory /usr/src/linux-headers-4.4.0-38-generic' make[1]: Leaving directory
/home/wtao/Workspace/click/linuxmodule' make[1]: Entering directory/home/wtao/Workspace/click/tools' make[2]: Entering directory
/home/wtao/Workspace/click/tools/lib' CXX ../../lib/string.cc CXX ../../lib/straccum.cc CXX ../../lib/glue.cc CXX ../../lib/bitvector.cc CXX ../../lib/hashallocator.cc CXX ../../lib/ipaddress.cc CXX ../../lib/etheraddress.cc CXX ../../lib/timestamp.cc CXX ../../lib/error.cc CXX elementt.cc CXX eclasst.cc CXX routert.cc CXX runparse.cc CXX ../../lib/variableenv.cc CXX landmarkt.cc CXX lexert.cc CXX lexertinfo.cc CXX ../../lib/driver.cc CXX ../../lib/confparse.cc CXX ../../lib/args.cc CXX ../../lib/archive.cc CXX processingt.cc CXX etraits.cc CXX elementmap.cc CXX ../../lib/userutils.cc CXX ../../lib/md5.cc CXX toolutils.cc CC ../../lib/clp.c AR libclicktool.a RANLIB libclicktool.a make[2]: Leaving directory/home/wtao/Workspace/click/tools/lib' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-align' CXX alignment.cc CXX alignclass.cc CXX click-align.cc LINK click-align make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-align' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-check' CXX click-check.cc LINK click-check make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-check' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-combine' CXX click-combine.cc LINK click-combine CXX click-uncombine.cc LINK click-uncombine make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-combine' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-devirtualize' CXX cxxclass.cc CXX specializer.cc CXX signature.cc CXX click-devirtualize.cc LINK click-devirtualize make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-devirtualize' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-fastclassifier' CXX click-fastclassifier.cc CXX fc_classifier.cc CXX fc_ipclassifier.cc LINK click-fastclassifier make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-fastclassifier' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-flatten' CXX click-flatten.cc LINK click-flatten make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-flatten' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-mkmindriver' CXX click-mkmindriver.cc LINK click-mkmindriver make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-mkmindriver' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-pretty' CXX click-pretty.cc CXX html.cc LINK click-pretty make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-pretty' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-undead' CXX click-undead.cc LINK click-undead make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-undead' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-xform' CXX adjacency.cc CXX click-xform.cc LINK click-xform make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-xform' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click2xml' CXX click2xml.cc LINK click2xml CXX xml2click.cc LINK xml2click make[2]: Leaving directory/home/wtao/Workspace/click/tools/click2xml' make[2]: Entering directory
/home/wtao/Workspace/click/tools/click-install' CXX common.cc CXX click-install.cc LINK click-install CXX click-uninstall.cc LINK click-uninstall make[2]: Leaving directory/home/wtao/Workspace/click/tools/click-install' make[1]: Leaving directory
/home/wtao/Workspace/click/tools'
Here's the build log :
make[1]: Entering directory '/home/kun/Click/click/linuxmodule'
echo "linuxmodule analysis app aqm ethernet icmp ip simple standard tcpudp test threads" | ../bin/click-buildtool findelem -r linuxmodule -p .. -X ./elements.exclude --checksum elements.csmk > elements.conf
../bin/click-buildtool elem2make --linux -x "addressinfo.o alignmentinfo.o errorelement.o portinfo.o scheduleinfo.o" < elements.conf > elements.mk
../bin/click-buildtool elem2export < elements.conf > elements.cc
make -C /usr/src/linux-headers-4.4.0-78-generic M=/home/kun/Click/click/linuxmodule modules
make[2]: Entering directory '/usr/src/linux-headers-4.4.0-78-generic'
CC [M] crc32.o
CC [M] in_cksum.o
CXX [M] string.o
CXX [M] straccum.o
CXX [M] nameinfo.o
CXX [M] bitvector.o
CXX [M] bighashmap_arena.o
CXX [M] hashallocator.o
CXX [M] ipaddress.o
CXX [M] ipflowid.o
CXX [M] etheraddress.o
CXX [M] packet.o
CXX [M] error.o
CXX [M] timestamp.o
CXX [M] glue.o
CXX [M] task.o
CXX [M] timer.o
CXX [M] atomic.o
CXX [M] gaprate.o
CXX [M] element.o
CXX [M] confparse.o
CXX [M] args.o
CXX [M] variableenv.o
CXX [M] lexer.o
CXX [M] elemfilter.o
CXX [M] routervisitor.o
CXX [M] routerthread.o
CXX [M] router.o
CXX [M] master.o
CXX [M] timerset.o
CXX [M] handlercall.o
CXX [M] notifier.o
CXX [M] integers.o
CXX [M] iptable.o
CXX [M] driver.o
CXX [M] ino.o
CXX [M] addressinfo.o
CXX [M] alignmentinfo.o
CXX [M] errorelement.o
CXX [M] portinfo.o
CXX [M] scheduleinfo.o
CXX [M] adjusttimestamp.o
CXX [M] aggregateipflows.o
CXX [M] aggregatenotifier.o
CXX [M] anonipaddr.o
CXX [M] eraseippayload.o
CXX [M] settimestampdelta.o
CXX [M] storetimestamp.o
CXX [M] storeudptimeseqrecord.o
CXX [M] timefilter.o
CXX [M] timerange.o
CXX [M] timesortedsched.o
CXX [M] ftpportmapper.o
CXX [M] adaptivered.o
CXX [M] codel.o
CXX [M] red.o
CXX [M] arpfaker.o
CXX [M] arpprint.o
CXX [M] arpquerier.o
CXX [M] arpresponder.o
CXX [M] arptable.o
CXX [M] checkarpheader.o
CXX [M] ensureether.o
CXX [M] etherencap.o
CXX [M] ethermirror.o
CXX [M] etherpausesource.o
CXX [M] etherrewrite.o
CXX [M] ethervlanencap.o
CXX [M] getetheraddress.o
CXX [M] hostetherfilter.o
CXX [M] setetheraddress.o
CXX [M] setvlananno.o
CXX [M] storeetheraddress.o
CXX [M] stripethervlanheader.o
CXX [M] vlandecap.o
CXX [M] vlanencap.o
CXX [M] checkicmpheader.o
CXX [M] icmperror.o
CXX [M] icmpipencap.o
CXX [M] icmppingencap.o
CXX [M] icmppingresponder.o
CXX [M] icmppingrewriter.o
CXX [M] icmprewriter.o
CXX [M] icmpsendpings.o
CXX [M] checkipheader.o
CXX [M] checkipheader2.o
CXX [M] decipttl.o
CXX [M] fixipsrc.o
CXX [M] getipaddress.o
CXX [M] ipaddrpairrewriter.o
CXX [M] ipaddrrewriter.o
CXX [M] ipclassifier.o
CXX [M] ipencap.o
CXX [M] ipfieldinfo.o
CXX [M] ipfilter.o
CXX [M] ipfragmenter.o
CXX [M] ipgwoptions.o
CXX [M] ipinputcombo.o
CXX [M] ipmirror.o
CXX [M] ipnameinfo.o
CXX [M] ipoutputcombo.o
CXX [M] ipprint.o
CXX [M] ipreassembler.o
CXX [M] iprewriterbase.o
CXX [M] iproutetable.o
CXX [M] iprwmapping.o
CXX [M] iprwpattern.o
CXX [M] iprwpatterns.o
CXX [M] lineariplookup.o
CXX [M] lookupiproute.o
CXX [M] lookupiproutemp.o
CXX [M] markipce.o
CXX [M] markipheader.o
CXX [M] radixiplookup.o
CXX [M] rfc2507c.o
CXX [M] rfc2507d.o
CXX [M] ripsend.o
CXX [M] rripmapper.o
CXX [M] setipaddress.o
CXX [M] setipchecksum.o
CXX [M] setipdscp.o
CXX [M] setipecn.o
CXX [M] setrandipaddress.o
CXX [M] siphmapper.o
CXX [M] sortediplookup.o
CXX [M] storeipaddress.o
CXX [M] stripipheader.o
CXX [M] truncateippayload.o
CXX [M] unstripipheader.o
CXX [M] cyclecountaccum.o
CXX [M] fastudpsrc.o
CXX [M] fromuserdevice.o
CXX [M] rtcycles.o
CXX [M] schedulelinux.o
CXX [M] setcyclecount.o
CXX [M] touserdevice.o
CXX [M] simpleidle.o
CXX [M] simplepriosched.o
CXX [M] simplepullswitch.o
CXX [M] simplerrsched.o
CXX [M] align.o
CXX [M] annotationinfo.o
CXX [M] averagecounter.o
CXX [M] bandwidthmeter.o
CXX [M] bandwidthshaper.o
CXX [M] block.o
CXX [M] burster.o
CXX [M] bwratedsplitter.o
CXX [M] bwratedunqueue.o
CXX [M] bypass.o
CXX [M] checkcrc32.o
CXX [M] checklength.o
CXX [M] checkpaint.o
CXX [M] classification.o
CXX [M] classifier.o
CXX [M] clickyinfo.o
CXX [M] clipboard.o
CXX [M] compblock.o
CXX [M] counter.o
CXX [M] cpuqueue.o
CXX [M] cpuswitch.o
CXX [M] delayshaper.o
CXX [M] delayunqueue.o
CXX [M] devirtualizeinfo.o
CXX [M] discard.o
CXX [M] discardnofree.o
CXX [M] drivermanager.o
CXX [M] dropbroadcasts.o
CXX [M] drr.o
CXX [M] flowinfo.o
CXX [M] frontdropqueue.o
CXX [M] fullnotequeue.o
CXX [M] hashswitch.o
CXX [M] hub.o
CXX [M] idle.o
CXX [M] infinitesource.o
CXX [M] inputswitch.o
CXX [M] linkunqueue.o
CXX [M] markmacheader.o
CXX [M] messageelement.o
CXX [M] meter.o
CXX [M] mixedqueue.o
CXX [M] notifierqueue.o
CXX [M] nullelement.o
CXX [M] nulls.o
CXX [M] pad.o
CXX [M] paint.o
CXX [M] paintswitch.o
CXX [M] painttee.o
CXX [M] print.o
CXX [M] priosched.o
CXX [M] pullswitch.o
CXX [M] quicknotequeue.o
CXX [M] quitwatcher.o
CXX [M] randomerror.o
CXX [M] randomsample.o
CXX [M] randomsource.o
CXX [M] randomswitch.o
CXX [M] ratedsource.o
CXX [M] ratedsplitter.o
CXX [M] ratedunqueue.o
CXX [M] resize.o
CXX [M] rrsched.o
CXX [M] rrswitch.o
CXX [M] script.o
CXX [M] setannobyte.o
CXX [M] setcrc32.o
CXX [M] setpackettype.o
CXX [M] settimestamp.o
CXX [M] shaper.o
CXX [M] simplequeue.o
CXX [M] staticpullswitch.o
CXX [M] staticswitch.o
CXX [M] storedata.o
CXX [M] stridesched.o
CXX [M] strideswitch.o
CXX [M] strip.o
CXX [M] striptonet.o
CXX [M] suppressor.o
CXX [M] switch.o
CXX [M] tee.o
CXX [M] threadsafequeue.o
CXX [M] timedsink.o
CXX [M] timedsource.o
CXX [M] timedunqueue.o
CXX [M] truncate.o
CXX [M] unqueue.o
CXX [M] unqueue2.o
CXX [M] unstrip.o
CXX [M] checktcpheader.o
CXX [M] checkudpheader.o
CXX [M] dynudpipencap.o
CXX [M] fasttcpflows.o
CXX [M] fastudpflows.o
CXX [M] iprewriter.o
CXX [M] settcpchecksum.o
CXX [M] setudpchecksum.o
CXX [M] tcpfragmenter.o
CXX [M] tcpipsend.o
CXX [M] tcprewriter.o
CXX [M] udpipencap.o
CXX [M] udprewriter.o
CXX [M] bhmtest.o
CXX [M] bitvectortest.o
CXX [M] checkpacket.o
CXX [M] comparepackets.o
CXX [M] confparsetest.o
CXX [M] cryptotest.o
CXX [M] dequetest.o
CXX [M] errortest.o
CXX [M] functiontest.o
CXX [M] handlertask.o
CXX [M] hashtabletest.o
CXX [M] heaptest.o
CXX [M] listtest.o
CXX [M] mtdietest.o
CXX [M] neighborhoodtest.o
CXX [M] notifierdebug.o
CXX [M] notifiertest.o
CXX [M] nulltask.o
CXX [M] packettest.o
CXX [M] queueyanktest.o
CXX [M] randomseed.o
CXX [M] schedordertest.o
CXX [M] sorttest.o
CXX [M] taskthreadtest.o
CXX [M] timertest.o
CXX [M] tokenbuckettest.o
CXX [M] upstreamnotifier.o
CXX [M] vectortest.o
CXX [M] spinlockacquire.o
CXX [M] spinlockinfo.o
CXX [M] spinlockpush.o
CXX [M] spinlockrelease.o
CXX [M] staticthreadsched.o
CC [M] kernelversion.o
CC [M] read-pmc.o
CXX [M] config.o
CXX [M] sched.o
CXX [M] module.o
CXX [M] clickfs.o
CXX [M] skbmgr.o
CXX [M] elements.o
CREATE /home/kun/Click/click/linuxmodule/ksyms.c
CC [M] ksyms.o
LD [M] /home/kun/Click/click/linuxmodule/click.o
CC [M] /home/kun/Click/click/linuxmodule/proclikefsmod.o
LD [M] /home/kun/Click/click/linuxmodule/proclikefs.o
Building modules, stage 2.
MODPOST 2 modules
CC /home/kun/Click/click/linuxmodule/click.mod.o
LD [M] /home/kun/Click/click/linuxmodule/click.ko
CC /home/kun/Click/click/linuxmodule/proclikefs.mod.o
LD [M] /home/kun/Click/click/linuxmodule/proclikefs.ko
make[2]: Leaving directory '/usr/src/linux-headers-4.4.0-78-generic'
../mkinstalldirs /usr/local/lib
for i in click.ko proclikefs.ko; do /usr/bin/install -c -m 644 $i /usr/local/lib/$i; done
/usr/bin/install -c -m 644 Module.symvers /usr/local/lib/click.symvers
../mkinstalldirs /usr/local/include/click-linuxmodule
INSTALLHEADERS /usr/local/include/click-linuxmodule
make[1]: Leaving directory '/home/kun/Click/click/linuxmodule'
make[1]: Entering directory '/home/kun/Click/click/tools'
make[2]: Entering directory '/home/kun/Click/click/tools/lib'
CXX ../../lib/string.cc
CXX ../../lib/straccum.cc
CXX ../../lib/glue.cc
CXX ../../lib/bitvector.cc
CXX ../../lib/hashallocator.cc
CXX ../../lib/ipaddress.cc
CXX ../../lib/etheraddress.cc
CXX ../../lib/timestamp.cc
CXX ../../lib/error.cc
CXX elementt.cc
CXX eclasst.cc
CXX routert.cc
CXX runparse.cc
CXX ../../lib/variableenv.cc
CXX landmarkt.cc
CXX lexert.cc
CXX lexertinfo.cc
CXX ../../lib/driver.cc
CXX ../../lib/confparse.cc
CXX ../../lib/args.cc
CXX ../../lib/archive.cc
CXX processingt.cc
CXX etraits.cc
CXX elementmap.cc
CXX ../../lib/userutils.cc
CXX ../../lib/md5.cc
CXX toolutils.cc
CC ../../lib/clp.c
AR libclicktool.a
RANLIB libclicktool.a
make[2]: Leaving directory '/home/kun/Click/click/tools/lib'
make[2]: Entering directory '/home/kun/Click/click/tools/lib'
INSTALLHEADERS /usr/local/include/clicktool
INSTALL /usr/local/lib/libclicktool.a
make[2]: Leaving directory '/home/kun/Click/click/tools/lib'
make[2]: Entering directory '/home/kun/Click/click/tools/click-align'
CXX alignment.cc
CXX alignclass.cc
CXX click-align.cc
LINK click-align
INSTALL /usr/local/bin/click-align
make[2]: Leaving directory '/home/kun/Click/click/tools/click-align'
make[2]: Entering directory '/home/kun/Click/click/tools/click-check'
CXX click-check.cc
LINK click-check
INSTALL /usr/local/bin/click-check
make[2]: Leaving directory '/home/kun/Click/click/tools/click-check'
make[2]: Entering directory '/home/kun/Click/click/tools/click-combine'
CXX click-combine.cc
LINK click-combine
CXX click-uncombine.cc
LINK click-uncombine
INSTALL /usr/local/bin/click-combine
INSTALL /usr/local/bin/click-uncombine
make[2]: Leaving directory '/home/kun/Click/click/tools/click-combine'
make[2]: Entering directory '/home/kun/Click/click/tools/click-devirtualize'
CXX cxxclass.cc
CXX specializer.cc
CXX signature.cc
CXX click-devirtualize.cc
LINK click-devirtualize
INSTALL /usr/local/bin/click-devirtualize
make[2]: Leaving directory '/home/kun/Click/click/tools/click-devirtualize'
make[2]: Entering directory '/home/kun/Click/click/tools/click-fastclassifier'
CXX click-fastclassifier.cc
CXX fc_classifier.cc
CXX fc_ipclassifier.cc
LINK click-fastclassifier
INSTALL /usr/local/bin/click-fastclassifier
make[2]: Leaving directory '/home/kun/Click/click/tools/click-fastclassifier'
make[2]: Entering directory '/home/kun/Click/click/tools/click-flatten'
CXX click-flatten.cc
LINK click-flatten
INSTALL /usr/local/bin/click-flatten
make[2]: Leaving directory '/home/kun/Click/click/tools/click-flatten'
make[2]: Entering directory '/home/kun/Click/click/tools/click-mkmindriver'
CXX click-mkmindriver.cc
LINK click-mkmindriver
INSTALL /usr/local/bin/click-mkmindriver
make[2]: Leaving directory '/home/kun/Click/click/tools/click-mkmindriver'
make[2]: Entering directory '/home/kun/Click/click/tools/click-pretty'
CXX click-pretty.cc
CXX html.cc
LINK click-pretty
INSTALL /usr/local/bin/click-pretty
make[2]: Leaving directory '/home/kun/Click/click/tools/click-pretty'
make[2]: Entering directory '/home/kun/Click/click/tools/click-undead'
CXX click-undead.cc
LINK click-undead
INSTALL /usr/local/bin/click-undead
make[2]: Leaving directory '/home/kun/Click/click/tools/click-undead'
make[2]: Entering directory '/home/kun/Click/click/tools/click-xform'
CXX adjacency.cc
CXX click-xform.cc
LINK click-xform
INSTALL /usr/local/bin/click-xform
make[2]: Leaving directory '/home/kun/Click/click/tools/click-xform'
make[2]: Entering directory '/home/kun/Click/click/tools/click2xml'
CXX click2xml.cc
LINK click2xml
CXX xml2click.cc
LINK xml2click
INSTALL /usr/local/bin/click2xml
INSTALL /usr/local/bin/xml2click
make[2]: Leaving directory '/home/kun/Click/click/tools/click2xml'
make[2]: Entering directory '/home/kun/Click/click/tools/click-install'
CXX common.cc
CXX click-install.cc
LINK click-install
CXX click-uninstall.cc
LINK click-uninstall
INSTALL /usr/local/sbin/click-install
INSTALL /usr/local/sbin/click-uninstall
make[2]: Leaving directory '/home/kun/Click/click/tools/click-install'
make[1]: Leaving directory '/home/kun/Click/click/tools'
echo linuxmodule analysis app aqm ethernet icmp ip simple standard tcpudp test threads | bin/click-buildtool findelem -r "x86_64 analysis int64 linux linuxmodule" -p . | perl ./click-mkelemmap -r "x86_64 analysis int64 linux " -t "linuxmodule" -p . -Iinclude -s "cd . && pwd
" > share/click/elementmap.xml
./mkinstalldirs /usr/local/bin
/usr/bin/install -c -C bin/click-buildtool /usr/local/bin/click-buildtool
/usr/bin/install -c -C bin/click-compile /usr/local/bin/click-compile
/usr/bin/install -c -C ./click-mkelemmap /usr/local/bin/click-mkelemmap
/usr/bin/install -c -C ./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 share/click/elementmap.xml /usr/local/share/click/elementmap.xml
/usr/bin/install -c -C -m 644 share/click/config.mk /usr/local/share/click/config.mk
/usr/bin/install -c -C -m 644 share/click/pkg-config.mk /usr/local/share/click/pkg-config.mk
/usr/bin/install -c -C -m 644 ./share/click/pkg-Makefile /usr/local/share/click/pkg-Makefile
/usr/bin/install -c -C -m 644 ./share/click/pkg-userlevel.mk /usr/local/share/click/pkg-userlevel.mk
/usr/bin/install -c -C -m 644 ./share/click/pkg-linuxmodule.mk /usr/local/share/click/pkg-linuxmodule.mk
/usr/bin/install -c -C -m 644 ./share/click/pkg-linuxmodule-26.mk /usr/local/share/click/pkg-linuxmodule-26.mk
/usr/bin/install -c -C -m 644 ./share/click/pkg-bsdmodule.mk /usr/local/share/click/pkg-bsdmodule.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[1]: Entering directory '/home/kun/Click/click/doc'
INSTALLMANPAGES /usr/local/share/man
CLICK-ELEM2MAN -m /usr/local/share/man
INSTALL /usr/local/bin/click-elem2man
make[1]: Leaving directory '/home/kun/Click/click/doc'
./mkinstalldirs /usr/local/include/click
/usr/bin/install -c -C -m 644 ./include/click/.h /usr/local/include/click
/usr/bin/install -c -C -m 644 ./include/click/.hh /usr/local/include/click
/usr/bin/install -c -C -m 644 ./include/click/.cc /usr/local/include/click
/usr/bin/install -c -C -m 644 ./include/click/.h /usr/local/include/click
./mkinstalldirs /usr/local/include/click/standard
/usr/bin/install -c -C -m 644 ./include/click/standard/.hh /usr/local/include/click/standard
./mkinstalldirs /usr/local/include/clicknet
/usr/bin/install -c -C -m 644 ./include/clicknet/.h /usr/local/include/clicknet
May be a stupid question, but does it fail if you try to use those elements?
yes...when try to install the a configuration with those elements, e.g., the ToDevice, the build block throws errors telling me that these elements are not built.
To be more specific, this is the configuration file I am using: 2test-device.click FromDevice(wlan0) -> Print('OK') ->ToDump(data/2.dump, SNAPLEN 0, ENCAP ETHER);
Then this is reported by dmesg: [ 9323.401357] 2test-device.click:20: unknown element class 'FromDevice' [ 9323.401397] 2test-device.click:20: unknown element class 'ToDump' [ 9323.401588] Router could not be initialized!
It's because of commit 426ecaa3f9bd64111ad7009f5089112bc85afdd5 from @kohler which disable compilation of linuxmodule elements. Did that was left on purpose?
Temp fix is to remove false at the end of elements/linuxmodule/fromdevice.cc
Hi, the click router doesn't compile some of the core elements, e.g. todevice.cc, tohost.cc, fromdevice.cc and etc. I confirmed it by looking at the {CLICKPATH}/linuxmodule/elements.conf, whereas other elements like touserdevice.cc are compiled. I didn't make change to your original code, which keywords like EXPORT_ELEMENT still exists in the todevice.cc. Also I've checked theres' no elements.exclude exists. I have no idea why that those elements are not compiled. Could you give me some clue? My configure command is ./Configure --disable-userlevel --enable-linuxmodule --with-linux=/usr/src/${uname -r} --with-linux-map=/boot/$System.map-{uname -r}
My kernel version is 4.4.0.75 Thank you very much.