ImportError on make check

Hi everybody,

I just cant figure this out, so I have to ask here: I am creating a
custom block, but when running “make check”, I get an ImportError. A
small part of the output of make check is included below, and the
complete source of the module is available here:
ftp://open-gnss.org/pub/opengnss/gr-gnss/


make[4]: Entering directory
`/home/trondd/src/gnuradio/gnuradio-opengnss-install/gr-gnss/src/python’
Traceback (most recent call last):
File “./qa_gr_gnss_ca_source.py”, line 4, in ?
import gr_gnss
File
“/home/trondd/src/gnuradio/gnuradio-opengnss-install/gr-gnss/src/lib/gr_gnss.py”,
line 6, in ?
import _gr_gnss
ImportError:
/home/trondd/src/gnuradio/gnuradio-opengnss-install/gr-gnss/src/lib/.libs/_gr_gnss.so:
undefined symbol: _ZN17gr_gnss_ca_sourceD1Ev
FAIL: run_tests

I would love to get some feedback on this, because I am lost. Thank
you for your time!


Trond D.

Trond D. wrote:

undefined symbol: _ZN17gr_gnss_ca_sourceD1Ev

This looks like the mangled name of the destructor method for the
gr_gnss_ca_source class. Do you have this in the class declaration in
the .h file and then defined in the .cc file somewhere?

gr_gnss_ca_source::gr_gnss_ca_source()
{
}

You can Google on “virtual destructor” for info about why this is
needed, it’s a C++ thing, not specific to GNU Radio.


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com

2007/1/31, Johnathan C. [email protected]:

}

You can Google on “virtual destructor” for info about why this is
needed, it’s a C++ thing, not specific to GNU Radio.

/me is embarrassed… I should have known that it was something like
that. I know my way around C, but C++ is fairly new to me. But thank
you for taking the time and helping me!


Trond D.

Johnathan C. wrote:

This looks like the mangled name of the destructor method for the
gr_gnss_ca_source class. Do you have this in the class declaration in
the .h file and then defined in the .cc file somewhere?

gr_gnss_ca_source::gr_gnss_ca_source()
{
}

Er, that would be

gr_gnss_ca_source::~gr_gnss_ca_source()
{
}

…with the tilde indicating the destructor.

-Johnathan