Resolved: the 3.7 to 3.8 migration guide shows components must be added to the CMake:
I am using the UHD component, so added as such > 3.7.2 > set(GR_REQUIRED_COMPONENTS RUNTIME PMT UHD) > find_package(Gnuradio "3.7.2" REQUIRED) > > 3.8.2 > find_package(Gnuradio "3.8" REQUIRED COMPONENTS UHD) > include(GrVersion) Also, the CMake in the lib directory must be updated, adding uhd > target_link_libraries(gnuradio-vandevender gnuradio::gnuradio-runtime uhd) Criss Swaim [email protected] cell: 505.301.5701 On 1/28/2021 2:55 PM, Criss Swaim wrote: > I am running Fedora 33, GnuRadio 3.8.2 and UHD 3.15. GnuRadio/UHD was > installed from the dnf package with the following command: > >> dnf install -y gnuradio3.8 uhd-devel gnuradio-devel uhd-tools > Following the OOT tutorial I have updated the cmake as follows: > >> 3.7.2 >> set(GR_REQUIRED_COMPONENTS RUNTIME PMT UHD) >> find_package(Gnuradio "3.7.2" REQUIRED) >> >> 3.8.2 >> find_package(Gnuradio "3.8" REQUIRED COMPONENTS UHD) >> include(GrVersion) > After compiling my OOT module, the compile is clean, but running the > block in grc I receive an error. > >> ImportError: >> /home/sensor/qn382/gr-vandevender/build/lib/libgnuradio-vandevender.so.1.0.0git: >> undefined symbol: _ZN3uhd4usrp10multi_usrp9ALL_CHANSE > in the OOTcmodule, there is this line of code: > >> usrp = uhd::usrp::multi_usrp::make(ip_addr); > To debug, I opened ipython and imported the swig file and am receiving > the following error (thank you Martin Braun for this debugging tip): > >> In [1]: import swig._vandevender_swig >> --------------------------------------------------------------------------- >> ImportError Traceback (most recent call >> last) >> <ipython-input-1-48c182e2abc0> in <module> >> ----> 1 import swig._vandevender_swig >> >> ImportError: >> /home/sensor/qn382/gr-vandevender/build/lib/libgnuradio-vandevender.so.1.0.0git: >> undefined symbol: _ZN3uhd4usrp10multi_usrp9ALL_CHANSE > In ipython, I have imported uhd.usrp and dir(uhd.usrp.lib.usrp) finds > the multi_ursp function is found, > > So I suspect I need something, somewhere in the CMake file is needed to > point swig to the correct python module uhd.usrp.lib.usrp. But I am > lost. Is this even the correct area? Are there other areas I need to > look into? This is my first exposure to the 'modern CMake', so if the > problem is in it, some specific guidance would be appreciated. >
