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: Thu, 19 Feb 2009 14:10:51 +0100



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]