[Click] Click: DSRroutetable error/Some unresolved symbols

Eddie Kohler kohler at CS.UCLA.EDU
Thu Jun 17 17:22:11 EDT 2004


Hey John,

I added "ELEMENT_REQUIRES(LinkTable)" to DSRRouteTable to prevent this  
error (at least DSRRouteTable won't be compiled unless LinkTable is  
available).

Eddie


On Jun 17, 2004, at 2:32 PM, John Bicket wrote:

> try configuring like this:
>
>
>   $ /home/jbicket/co/click/configure --enable-wifi --enable-kassert
>   --disable-adaptive --enable-linuxmodule --disable-userlevel
>   --with-linux=xxxxx
>
>
>   --john
>
>
> gaurav dawra [openapproject at hotmail.com] wrote:
>> Hi eddie and to all mailing list members,
>>
>> I downloaded and compiled the most recent version of click from CVS
>> anonymous. Patched the kernel with the most RECENT patches, yeah also
>> downloaded *new* 2.4.20 kernel from kernel.org, patched successfully.
>>
>> Allright when i configure with:
>> ./configure --enable-grid  --enable-local  --enable-adaptive
>> --with-linux=/usr/src/linux-2.4.20
>> --with-pcap=/home/dawra/release/libpcap-0.7.1
>>
>> It "does" give me these errors, something linked with  
>> "dsrroutetable.o" on
>> userlevel side.
>>
>> .o click.o libclick.a `../click-compile --otherlibs`
>> dsrroutetable.o(.text+0x1247): In function
>> `DSRRouteTable::sendbuffer_timer_hook()':
>> ../elements/grid/dsrroutetable.cc:327: undefined reference to
>> `LinkTable::dijkstra()'
>> dsrroutetab.o -DHAVE_CONFIG_Hclick.o libclick.a `../click-compile
>> --otherlibs`
>> dsrroutetable.o(.text+0x1247): In function
>> `DSRRouteTable::sendbuffer_timer_hook()':
>> ../elements/grid/dsrroutetable.cc:327: undefined reference to
>> `LinkTable::dijkstra()'
>> dsrroutetable.o(.text+0x125c):../elements/grid/dsrroutetable.cc:328:
>> undefined reference to `LinkTable::best_route(IPAddress)'
>> dsrroutetable.o(.text+0x1b96): In function `DSRRouteTable::push(int,
>> Packet*)':
>> ../elements/grid/dsrroutetable.cc:471: undefined reference to
>> `LinkTable::dijkstra()'
>> dsrroutetable.o(.text+0x1bae):../elements/grid/dsrroutetable.cc:472:
>> undefined reference to `LinkTable::best_route(IPAddress)'
>> dsrroutetable.o(.text+0x1ec1): In function `DSRRouteTable::push(int,
>> Packet*)':
>> ../elements/wifi/linktable.hh:90: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> dsrroutetable.o(.text+0x2186): In function `DSRRouteTable::push(int,
>> Packet*)':
>> ../include/click/vector.hh:220: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> dsrroutetable.o(.text+0x2518): In function `DSRRouteTable::push(int,
>> Packet*)':
>> ../elements/wifi/linktable.hh:90: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> dsrroutetable.o(.text+0x2676): In function `DSRRouteTable::push(int,
>> Packet*)':
>> ../elements/grid/dsrroutetable.cc:761: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> dsrroutetable.o(.text+0x49f8): In function
>> `DSRRouteTable::rreq_issue_hook()':../elements/grid/dsrroutetable.cc: 
>> 1715:
>> undefined reference to `LinkTable::dijkstra()'
>> dsrroutetable.o(.text+0x4a0d):../elements/grid/dsrroutetable.cc:1716:
>> undefined reference to `LinkTable::best_route(IPAddress)'
>> dsrroutetable.o(.text+0x4e57): In function
>> `DSRRouteTable::add_route_to_link_table(Vector<DSRHop>)':
>> ../elements/wifi/linktable.hh:90: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> dsrroutetable.o(.text+0x4e85): In function
>> `DSRRouteTable::add_route_to_link_table(Vector<DSRHop>)':
>> ../elements/grid/dsrroutetable.cc:1806: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> dsrroutetable.o(.text+0x4ea1): In function
>> `DSRRouteTable::add_route_to_link_table(Vector<DSRHop>)':
>> ../elements/wifi/linktable.hh:90: undefined reference to
>> `LinkTable::update_link(IPAddress, IPAddress, int)'
>> collect2: ld returned 1 exit status
>> make[1]: *** [click] Error 1
>> make[1]: Leaving directory `/root/click/userlevel'
>> make: *** [userlevel] Error 2
>>
>> ==> USING THE SAME KERNEL AND PATCHES but *NOT* the most recent CLICK
>> version( this one i downloaded around one month back using CVS  
>> anonymous),
>> it *DOES* compile both userlevel and KERNEL modules without any  
>> errors. Is
>> this is a bug in the most RECENT click version?, so why it compiles  
>> the
>> earlier version not this NEW one.
>> ---------------------------------------------------------------------- 
>> -----------
>> If i compile and configure by DISABLING GRID ,the user level programs
>> compiles. Same way if i compile the KERNEL LEVEL modules with  
>> disablliing
>> USER LEVEL it compiles. But it gives these *unresolved* symbols(listed
>> below) when i try to load click.o . I need proclikefs.o and click.o  
>> for my
>> work. But proclikefs.o loads NOT click.o becoz of these unresolved  
>> symbols.
>> Well by looking at it seems like it might require some other module.  
>> But i
>> do have any clue which one it might require. It is an ERROR, am i  
>> missing
>> something in config file or somewhere else.
>>
>> [root at roofnet linuxmodule]# insmod click.o
>> click.o: unresolved symbol _ZN9LinkTable8dijkstraEv
>> click.o: unresolved symbol _ZN9LinkTable11update_linkE9IPAddressS0_i
>> click.o: unresolved symbol _ZN9LinkTable10best_routeE9IPAddress
>> -----------------------------------------------------------------
>>
>> Also Can you suggest me why is this error coming:
>>
>> [root at roofnet linuxmodule]# insmod iptable.o
>> iptable.o: couldn't find the kernel version the module was compiled  
>> for
>>
>>
>> it comes for all other modules in "../click/linuxmodules" directory  
>> EXPECT
>> for proclikefs.o and click.o
>> huh!!
>>
>> I opened the kernelversion.cc , i think it is written by robert  
>> morris. It
>> suggested that gcc or g++ seems to ignoring kernel version , so may be
>> compile using "cc",i did, it didn't worked even. Same error.
>>
>> i hope you will reply soon,
>>
>> Gaurav
>>
>>
>>> From: Eddie Kohler <kohler at CS.UCLA.EDU>
>>> To: "gaurav dawra" <openapproject at hotmail.com>
>>> CC: click at amsterdam.lcs.mit.edu
>>> Subject: Re: [Click] CLICK: CONFIG_ATALK IS NOT SET
>>> Date: Thu, 17 Jun 2004 11:39:30 -0700
>>>
>>> Did you use the patch from the current anonymous cvs version, or an   
>>> older
>>> patch?
>>>
>>>
>>>
>>> On Jun 17, 2004, at 8:51 AM, gaurav dawra wrote:
>>>
>>>> Eddie
>>>>
>>>> I downloaded CLICK using these commands. I believe this is the   
>>>> anonymous
>>>> version, if not which is the one. Shall i download   
>>>> click-1.3pre1.tar.gz,
>>>> is the BUG fixed in that. The kernel which i am  using has the  
>>>> *PACHES*
>>>> already appiled to it. I might also tryto use  the plain vanialla  
>>>> kernel.
>>>> But i probably need a right CLICK software  to experiment. Please
>>>> SUGGEST, another thing. I could able to compile  the USER SIDE  
>>>> programs
>>>> successfully , only kernel modules do not  compile. I may bother  
>>>> you will
>>>> few more questions as they come.
>>>> -------------------------------------------------------------------- 
>>>> ---
>>>> --------------------------------------------
>>>> CVS commands
>>>> First, log in to our CVS server with the following command:
>>>>
>>>> % cvs -d :pserver:anoncvs at cvs.pdos.lcs.mit.edu:/cvs login
>>>> CVS password:
>>>> (Just hit enter when prompted for a password.)
>>>>
>>>> Then, to obtain the current source, run this command:
>>>>
>>>> % cvs -z5 -d :pserver:anoncvs at cvs.pdos.lcs.mit.edu:/cvs co -d click
>>>> click/release/one
>>>> This checks out a copy of the Click sources and places them in the
>>>> `click' directory on your machine. The `-z5' option asks for   
>>>> compression.
>>>>
>>>> To update a previously checked out source tree, change into the  
>>>> click
>>>> directory and run this command:
>>>>
>>>> % cvs -z5 up -dP
>>>> Building Click
>>>> Before building Click from checked-out source, you must obtain GNU
>>>> autoconf if you don't have it already. Most current operating system
>>>> distributions include autoconf by default.
>>>>
>>>> Change into the click directory and run this command:
>>>>
>>>> % autoconf
>>>> You can now follow the directions in README to configure and build  
>>>> the
>>>> sources. Generally speaking, you'll run ./configure with a couple
>>>> options, then run make.
>>>> -------------------------------------------------------------------- 
>>>> ---
>>>> ------------------------------------------------------------
>>>>
>>>> Thanx,
>>>> Gaurav
>>>>
>>>>
>>>>> From: Eddie Kohler <kohler at CS.UCLA.EDU>
>>>>> To: "gaurav dawra" <openapproject at hotmail.com>
>>>>> CC: click at amsterdam.lcs.mit.edu
>>>>> Subject: Re: [Click] CLICK: CONFIG_ATALK IS NOT SET
>>>>> Date: Wed, 16 Jun 2004 17:44:38 -0700
>>>>>
>>>>> Guarav,
>>>>>
>>>>> I think you are using an older version of click as this bug with  
>>>>> the
>>>>> click patch is fixed in the anonymous cvs version
>>>>>
>>>>> Eddie
>>>>>
>>>>>
>>>>> On Jun 16, 2004, at 5:10 PM, gaurav dawra wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> Here are the configuration options while trying to configure  
>>>>>> CLICK  FOR
>>>>>> kernel modules. I came accross some errors.
>>>>>>
>>>>>> [root at roofnet click]# ./configure --enable-grid  
>>>>>> --disable-userlevel
>>>>>> --enable-local --enable-adaptive  
>>>>>> --with-linux=/usr/src/linux-2.4.20
>>>>>> --with-pcap=/home/dawra/release/libpcap-0.7.1
>>>>>> --GIVES NO ERRORS.
>>>>>>
>>>>>> [root at roofnet click]# gmake
>>>>>> gmake[1]: Entering directory `/home/dawra/click/linuxmodule'
>>>>>> echo "linuxmodule  standard ethernet aqm ip icmp tcpudp app local
>>>>>> grid" | (cd ..; ./click-buildtool
>>>>>> findelem -r "linuxmodule int64 linux_2_4 i686 i386 i586") >
>>>>>> elements.conf
>>>>>> ../click-buildtool elem2make -x "addressinfo.o alignmentinfo.o
>>>>>> drivermanager.o errorelement.o portinfo.o scheduleinfo.o" <
>>>>>> elements.conf > elements.mk
>>>>>> gmake[1]: Leaving directory `/home/dawra/click/linuxmodule'
>>>>>> gmake[1]: Entering directory `/home/dawra/click/linuxmodule'
>>>>>> g++ -w -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>>>>> -I../include -I../include -I. -I.. -I/usr/src/linux-2.4.20/include
>>>>>> -DCLICK_LINUXMODULE -O2 -MD -c ../lib/string.cc
>>>>>> g++ -w -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>>>>> -I../include -I../include -I. -I.. -I/usr/src/linux-2.4.20/include
>>>>>> -DCLICK_LINUXMODULE -O2 -MD -c ../lib/straccum.cc
>>>>>> g++ -w -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>>>>> -I../include -I../include -I. -I.. -I/usr/src/linux-2.4.20/include
>>>>>> -DCLICK_LINUXMODULE -O2 -MD -c ../lib/bitvector.cc
>>>>>> g++ -w -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>>>>> -I../include -I../include -I. -I.. -I/usr/src/linux-2.4.20/include
>>>>>> -DCLICK_LINUXMODULE -O2 -MD -c ../lib/vectorv.cc
>>>>>> g++ -w -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>>>>> -I../include -I../include -I. -I.. -I/usr/src/linux-2.4.20/include
>>>>>> -DCLICK_LINUXMODULE -O2 -MD -c ../lib/templatei.cc
>>>>>> In file included from /usr/src/linux-2.4.20/include/net/sock.h:64,
>>>>>>                from /usr/src/linux-2.4.20/include/net/ip.h:39,
>>>>>>                from  
>>>>>> /usr/src/linux-2.4.20/include/net/checksum.h:31,
>>>>>>                from ../include/clicknet/ip.h:8,
>>>>>>                from ../include/click/ipaddress.hh:6,
>>>>>>                from ../include/click/packet.hh:4,
>>>>>>                from ../include/click/element.hh:7,
>>>>>>                from ../include/click/router.hh:4,
>>>>>>                from ../lib/templatei.cc:21:
>>>>>> /usr/src/linux-2.4.20/include/net/ax25.h:179: declaration of `
>>>>>>  ax25_dev*ax25_cb::ax25_dev'
>>>>>> /usr/src/linux-2.4.20/include/net/ax25.h:173: changes meaning of
>>>>>> `ax25_dev'
>>>>>>  from `typedef struct ax25_dev ax25_dev'
>>>>>> gmake[1]: *** [templatei.o] Error 1
>>>>>> gmake[1]: Leaving directory `/home/dawra/click/linuxmodule'
>>>>>> gmake: *** [linuxmodule] Error 2
>>>>>> [root at roofnet click]#
>>>>>>
>>>>>> MY CONFIG FILE in /usr/src/linux-2.4.20 looklikes this
>>>>>> #
>>>>>> # CONFIG_IPX is not set
>>>>>> # CONFIG_ATALK is not set
>>>>>>
>>>>>> #
>>>>>> # Appletalk devices
>>>>>> #
>>>>>> # CONFIG_DEV_APPLETALK is not set
>>>>>> # CONFIG_DECNET is not set
>>>>>> # CONFIG_BRIDGE is not set
>>>>>> # CONFIG_X25 is not set
>>>>>> # CONFIG_LAPB is not set
>>>>>> # CONFIG_LLC is not set
>>>>>> # CONFIG_NET_DIVERT is not set
>>>>>> # CONFIG_ECONET is not set
>>>>>> # CONFIG_WAN_ROUTER is not set
>>>>>> # CONFIG_NET_FASTROUTE is not set
>>>>>> # CONFIG_NET_HW_FLOWCONTROL is not set
>>>>>>
>>>>>> THE APPLETALK DEVICES....CONFIG_ATALK is not set, as was  
>>>>>> mentioned  in
>>>>>> the INSTALL file of the click.
>>>>>>
>>>>>> I have also found while going through the postings about the same  
>>>>>>  kind
>>>>>> of error by "Bow-Nan Cheng" but there was not any solution for   
>>>>>> it. If
>>>>>> you have figured it out Bow-Nan Cheng, please suggest me 2. I   
>>>>>> believe
>>>>>> that the configuration file which i using to compile my  kernel  
>>>>>> is too
>>>>>> vast  for CLICK, is that a problem. I have spend the  whole  
>>>>>> afternoon
>>>>>> trying to figure out the error, recompiled the  kernel also ,  
>>>>>> followed
>>>>>> all steps.
>>>>>>
>>>>>> Thanx and i hope you guys will reply soon.
>>>>>>
>>>>>> Gaurav
>>>>>>
>>>>>> _________________________________________________________________
>>>>>> Looking to buy a house? Get informed with the Home Buying Guide  
>>>>>> from
>>>>>> MSN House & Home. http://coldwellbanker.msn.com/
>>>>>>
>>>>>> _______________________________________________
>>>>>> click mailing list
>>>>>> click at amsterdam.lcs.mit.edu
>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>
>>>>
>>>> _________________________________________________________________
>>>> FREE pop-up blocking with the new MSN Toolbar ? get it now!
>>>> http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/
>>>
>>
>> _________________________________________________________________
>> Watch the online reality show Mixed Messages with a friend and enter  
>> to win
>> a trip to NY
>> http://www.msnmessenger-download.click-url.com/go/onm00200497ave/ 
>> direct/01/
>>
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list