Undefined symbols, causes?


#1

Any tips what could cause this, Python does not like the
'U’ndefined symbol.

…/gnuradio/_atsc.so: undefined symbol: _Z14atsc_make_fpllv

$ nm _atsc.so | grep atsc_make_fpll
0004e9c0 T _Z14atsc_make_fplld
U _Z14atsc_make_fpllv

Checking the .libs objects:

$ nm atsc_fpll.o | grep atsc_make_fpll
00000cf0 T _Z14atsc_make_fplld

but:

$ nm atsc.o | grep atsc_make_fpll
U _Z14atsc_make_fpllv <— oh no!!!

SWIG missing something.
Files attached.

tia
–Chuck


#2

Usually when something like this happens, you have some versioning
problems
between interfaces. And indeed your files reveal this:

.h:

atsc_fpll_sptr atsc_make_fpll();

.cc:

atsc_fpll_sptr atsc_make_fpll(double a_initial_freq) { … }

You need to figure out which interface is the right one, and use that.

I think that “f” means float, and “v” means void, for the arguments in
the name
mangling.

-Ilia

Quoting C. Swiger removed_email_address@domain.invalid:


#3

On Fri, 2006-04-28 at 15:16 -0400, Ilia Mirkin wrote:

You need to figure out which interface is the right one, and use that.

Ok, changed all to atsc_make_fpll() and that works.

Ideally it would take an argument for initial_freq but I’ll sort that
out ‘later’.

Tks
–Chuck


#4

On Fri, 2006-04-28 at 15:16 -0400, Ilia Mirkin wrote:

You need to figure out which interface is the right one, and use that.

In small repayment for your assistance, here’s two screenshots. First
is a local station live off the air, in 20MSps float centered on
5.75Mhz:

http://webpages.charter.net/cswiger/wchs_fc5.75.jpg

and the same after FPLL processing in gnuradio 2.x :

http://webpages.charter.net/cswiger/wchs_fc0.jpg

with the mixer image not yet filtered out.

–Chuck