[Click] click package - linking with non-click library

Ges ges_george at yahoo.com
Tue Mar 21 20:58:03 EST 2006


Hi,

I realised that those g++ warnings were due to the -c option of g++.

As far as I understand, the Makefile eventually creates a .uo file for each of the files. Even though the linkage options are there as part of the g++ options, when I do an "nm filename.uo", I see that the symbols related to the external library are all undefined. 

All the final "package.uo" created does not seem to have any of the symbols of the element and non-element classes, which is quite surprising to me. I checked the sample.uo created when you run "make install" in the samplepackgae directory given and I saw that all the symbols in the sampleelement is defined in the sample.uo object file. I am not sure what I am messing up for this to happen. 

Is there any particular place in the Makefile where I can add linkage options so that when the Element n Element classes in my package are compiled they link to the required external libraries. 

Another issue is with the .ud or .d files. I dont see any .ud or .d files being created. Is this a problem? 

Some insight into this would be really really helpful. Been trying to figure this out for the last 2 days. 

Thanks,
Gesly

P.S. Another thing I noticed is that, when I copied the package.uo file into /usr0/local/lib, the click program found the object file. This was the case with the samplepackage as well. My install directory for click is /usr0/local/click/. So this problem was there even though the package.uo file was present in /usr0/local/click/lib. 




-------------------------------------------------------------------------------------------------------------------
 Hi,
 I am trying to install my own click package. This package needs to link with another package - gnuradio.
 
 I am able to compile the package successfully. But when I try to a configuation using click that uses this package, I face problems. 
 
 I noticed a few things in my compliation output that I am posting below:
 
 /usr0/local/click/bin/click-compile -t userlevel -DHAVE_CONFIG_H -I. -I. -I. -I/usr0/local/gr/include/gnuradio -pthread -L/usr0/local/gr/lib -lgnuradio-core -lfftw3f -lm -c basicflowgraph.cc -o basicflowgraph.uo
 g++ -W -Wall -DHAVE_CONFIG_H -DCLICK_USERLEVEL -I/usr0/local/click/share/click/src -I/usr0/local/click/include -g -O2 -MD '-DHAVE_CONFIG_H' '-I.' '-I.' '-I.' '-I/usr0/local/gr/include/gnuradio' '-L/usr0/local/gr/lib' '-lgnuradio-core' '-lfftw3f' '-lm' -c -DCLICK_PACKAGE basicflowgraph.cc -o basicflowgraph3534.o
 g++: -lgnuradio-core: linker input file unused because linking not done
 g++: -lfftw3f: linker input file unused because linking not done
 g++: -lm: linker input file unused because linking not done
 g++ -W -Wall -shared -o thread '-DHAVE_CONFIG_H' '-I.' '-I.' '-I.' '-I/usr0/local/gr/include/gnuradio' '-L/usr0/local/gr/lib' '-lgnuradio-core' '-lfftw3f' '-lm' basicflowgraph3534.o -o basicflowgraph.uo
 /bin/sh: line 1: basicflowgraph.d: No such file or directory
 
 The above message is just for one of the compiled files. This repeats for everyother compiled file as well. I compiled the package by doing the following:
 
 ./configure --prefix=/usr0/local/click --disable-linuxmodule
 make install
 
 I had modified the Makefile to add the linking options, that is being displayed in the output messages. 
 Since I havent written any element docs, click-elem2man does not find any class definitions. 
 
 Now, when I try to run a configuration, the following happens:
 
 [root at capri gnuradio]# click simple-rx-test.click
 While loading package 'gnuradio':
   can't find required package 'gnuradio.uo'
   in CLICKPATH or '/usr0/local/lib'
 requirement 'gnuradio' not available
 simple-rx-test.click:3: unknown element class 'FromUsrpDevice'
 simple-rx-test.click:5: unknown element class 'DemodModule'
 
 I am not sure how I can get this to run. The .click file has a requires(gnuradio) statement, which is the package I compiled. It looks like the pakage did not get installed. Any ideas on how to fix this? 
 
 Thanks,
 Gesly
 

		
---------------------------------
Yahoo! Travel
 Find  great deals to the top 10 hottest destinations!


More information about the click mailing list