Monday, May 25, 2020

Re: OOT block swig problem (maybe qmake vs cmake)

Hi Ali,

On 25/05/2020 11.30, Ali G. Dezfuli wrote:
> File "/home/ali/grdrills/top_block.py", line 69, in __init__
> self.tmp_tmp_cmo_acq0_0 = tmp.tmp_cmo_acq0()
> AttributeError: 'module' object has no attribute 'tmp_cmo_acq0'

One possible reason for errors like this one is undefined references in the shared object files. To check if this is the case go in the cmake build directory of you OOT module and execute

ldd -r ./swig/*.so
ldd -r ./lib/*.so

To resolve this add all your *.cc/*.cpp files in lib/CMakeLists.txt, add the -Wl,--no-undefined to link flags

set_target_properties(gnuradio-tmp PROPERTIES LINK_FLAGS "-Wl,--no-undefined")

open python/__init__.py and remove the try except block around swig import line

from .tmp_swig import *

Regards,
Vasil

No comments:

Post a Comment