2009/2/18 Eric Blossom <[email protected]>
> On Wed, Feb 18, 2009 at 03:39:52PM +0100, Emil Molin wrote:
> > Hi and thanks for the help, yes ive run it (and ive renamed the block to
> > 'test' instead of 'howto_2' but i still get something wrong obviously
> > because when running the test script i get this error:
> >
> > File "./qa_test.py", line 6, in <module>
> > from gnuradio import gr, gr_unittest, test
> > File "/Library/Python/2.5/site-packages/gnuradio/test.py", line 21, in
> > <module>
> > import _test
> > ImportError: dlopen(/Library/Python/2.5/site-packages/gnuradio/_test.so,
> 2):
> > Symbol not found: __ZTV14test_double_ff
> > Referenced from: /Library/Python/2.5/site-packages/gnuradio/_test.so
> > Expected in: dynamic lookup
> >
> > it seems like there is something wrong in the swig-generated _test.so
> file
> > but how to fix that i have no idea?
> >
>
>
> $ c++filt _ZTV14test_double_ff
> vtable for test_double_ff
>
> Are you sure you've got code for the class named test_double_ff linked
> into the shared library you're building?
>
> Eric
>
Ive linked everythin in the same way as in the howto_square_ff example, what
files could i have missed something in to not get the test_double_ff class
linked?
And well if its any reason to the problem this is how my makefile looks:
#
# Copyright 2004,2005,2006,2008 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
#
include $(top_srcdir)/Makefile.common
# Install this stuff so that it ends up as the gnuradio.test module
# This usually ends up at:
# ${prefix}/lib/python${python_version}/site-packages/gnuradio
ourpythondir = $(grpythondir)
ourlibdir = $(grpyexecdir)
AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS)
SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(SWIGGRFLAGS)
ALL_IFILES = \
$(LOCAL_IFILES) \
$(NON_LOCAL_IFILES)
NON_LOCAL_IFILES = \
$(GNURADIO_CORE_INCLUDEDIR)/swig/gnuradio.i
LOCAL_IFILES = \
$(top_srcdir)/src/lib/test.i
# These files are built by SWIG. The first is the C++ glue.
# The second is the python wrapper that loads the _test shared library
# and knows how to call our extensions.
BUILT_SOURCES = \
test.cc \
test.py
# This gets howto.py installed in the right place
ourpython_PYTHON = \
test.py
ourlib_LTLIBRARIES = _test.la
# These are the source files that go into the shared library
_test_la_SOURCES = \
test.cc \
test_double_ff.cc
# magic flags
_test_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version
# link the library against some comon swig runtime code and the
# c++ standard library
_test_la_LIBADD = \
$(PYTHON_LDFLAGS) \
-lstdc++
test.cc test.py: $(LOCAL_IFILES) $(ALL_IFILES)
$(SWIG) $(SWIGPYTHONARGS) -module test -o test.cc $(LOCAL_IFILES)
# These headers get installed in ${prefix}/include/gnuradio
grinclude_HEADERS = \
test_double_ff.h
# These swig headers get installed in ${prefix}/include/gnuradio/swig
swiginclude_HEADERS = \
$(LOCAL_IFILES)
MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
# Don't distribute output of swig
dist-hook:
@for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
@for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio