discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Problem with "How-to-write-a-block"-tutorial


From: Emil Molin
Subject: Re: [Discuss-gnuradio] Problem with "How-to-write-a-block"-tutorial
Date: Fri, 20 Feb 2009 10:32:03 +0100

Im still baning my head against the wall here, ive linked everything exactly like in the example but it just gives the same error message on running the tests.

2009/2/19 Emil Molin <address@hidden>


2009/2/18 Eric Blossom <address@hidden>

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]