Click 1.1 glitch

Justin C. Walker justin at apple.com
Thu Dec 28 08:29:59 EST 2000


Hi, Ed,

On Thursday, December 28, 2000, at 07:21 AM, Eddie Kohler wrote:

> Hi Justin, 
>  
> Thanks for your mail!! I think the correct fix is on line 365 -- replacing 
> 'unsigned int' with 'socklen_t'. Does this work on OS X as well? 

This doesn't work on Mac OS X; we have yet to incorporate 'socklen_t'.  We should do this, but we're late in the development cycle, so it will have to wait until after we ship.

I made the change I suggested (cast at the call site), which let the compile complete.  On the load, however, it blew chunks.  I'm still scratching my head (-rdynamic removed, due to arcane nature of dynamic libs on Mac OS X):

c++ -Wp,-w -W -Wall -fno-exceptions -fno-rtti -fvtable-thunks -g -O2  -o click ftpportmapper.o arpfaker.o arpquerier.o arpresponder.o etherencap.o ethermirror.o hostetherfilter.o checkicmpheader.o icmperror.o icmppingresponder.o icmppingrewriter.o icmprewriter.o icmpsendpings.o checkipheader.o checkipheader2.o decipttl.o fixipsrc.o getipaddress.o ipaddrrewriter.o ipclassifier.o ipencap.o ipfilter.o ipfragmenter.o ipgwoptions.o ipinputcombo.o ipmirror.o ipoutputcombo.o ipprint.o ipratemon.o iprw.o iprwpatterns.o lookupiproute.o lookupiproute2.o lookupiproutelinux.o markipheader.o rfc2507c.o rfc2507d.o ripsend.o rripmapper.o setipaddress.o setipchecksum.o setipdscp.o storeipaddress.o stripipheader.o unstripipheader.o align.o averagecounter.o bandwidthmeter.o bandwidthshaper.o burster.o bwratedsplitter.o bwratedunqueue.o checkcrc32.o checklength.o checkpaint.o classifier.o compblock.o counter.o devirtualizeinfo.o discard.o discardnofree.o dropbroadcasts.o frontdropqueue.o hashdemux.o hashswitch.o idle.o infinitesource.o meter.o nullelement.o nulls.o paint.o painttee.o peekhandlers.o pokehandlers.o print.o priosched.o probsplitter.o pullswitch.o pulltopush.o queue.o quitwatcher.o randomerror.o randomlossage.o randomsource.o ratedsource.o ratedsplitter.o ratedunqueue.o red.o rrsched.o rrswitch.o setcrc32.o shaper.o staticpullswitch.o staticswitch.o stridesched.o strideswitch.o strip.o suppressor.o switch.o tee.o timedsink.o timedsource.o unqueue.o checktcpheader.o checkudpheader.o iprewriter.o settcpchecksum.o tcprewriter.o udpipencap.o controlsocket.o frombpf.o fromdevice.o fromdump.o kerneltap.o tobpf.o todevice.o todump.o  elements.o click.o -lpcap   libclick.a
/usr/bin/ld: Undefined symbols:
___t6Vector1Z6StringRCB0
__._t6Vector1ZUi
___as__t6Vector1Z6StringRCB0
___t7HashMap2Z6StringZiRCi
_bucket__Ct7HashMap2Z6StringZiRCB1
_insert__t7HashMap2Z6StringZiRCB1RCi
_resize__t6Vector1ZUiiRCUi
_update_zero_period__t11DirectEWMAX2Ui4Ui10Ui
_find_force__t7HashMap2Z6StringZiRCB1
_reserve__t6Vector1ZUii
___as__t7HashMap2Z6StringZiRCB0
___pp__t15HashMapIterator2Z6StringZii
___t15HashMapIterator2Z6StringZiPCt7HashMap2ZB1Zi
___t7HashMap2Z6StringZiRCB0
_clear__t7HashMap2Z6StringZi
_resize__t6Vector1ZQ26Router6HookupiRCB1
_swap__t6Vector1Z6StringRB0
_swap__t6Vector1ZQ26Router6HookupRB0
_swap__t6Vector1ZiRB0
_swap__t7HashMap2Z6StringZiRB0
___t6Vector1ZiRCB0
make[1]: *** [click] Error 1
make: *** [userlevel] Error 2
(reverse-i-search)`':                                                           <jwalker at walkju7:click-1.1> tail -f make.out ck-1.1<jwalker at walkju7:click-1.1> 
_clear__t7HashMap2Z6StringZi
_resize__t6Vector1ZQ26Router6HookupiRCB1
_swap__t6Vector1Z6StringRB0
_swap__t6Vector1ZQ26Router6HookupRB0
_swap__t6Vector1ZiRB0
_swap__t7HashMap2Z6StringZiRB0
___t6Vector1ZiRCB0
make[1]: *** [click] Error 1
make: *** [userlevel] Error 2



An ascii character walks into a bar.  Bartender asks, "What'll you
have?"  Ascii character says, "Give me a double."  Bartender asks,
"Having a bad day?"  Ascii character says, "Yeah, I have a parity
error."  Bartender says, "Hmmm. I thought you looked a bit off."



More information about the click mailing list