kohler / click

The Click modular router: fast modular packet processing and analysis
Other
748 stars 321 forks source link

Successful build but unable to get some core linuxmodule elements in output. #343

Open kunrenzhilu opened 7 years ago

kunrenzhilu commented 7 years ago

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.

tbarbette commented 7 years ago

Looking at commits the last version known to compile seems to be 4.2.

kunrenzhilu commented 7 years ago

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?

tbarbette commented 7 years ago

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?

wtao0221 commented 7 years ago

@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'

kunrenzhilu commented 7 years ago

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

tbarbette commented 7 years ago

May be a stupid question, but does it fail if you try to use those elements?

kunrenzhilu commented 7 years ago

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!

tbarbette commented 7 years ago

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