discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] UHD error: _ZN3uhd6device4findERKNS_13device_addr


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] UHD error: _ZN3uhd6device4findERKNS_13device_addr_tENS0_15device_filter_tE
Date: Wed, 18 Mar 2015 12:25:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

Hi Zamrath,

now you're mixing different versions of the same library (UHD).
The debian GNU Radio was built and linked against the debian UHD, but now you're using the Ettus UHD package, so the symbols that the debian GNU Radio thought it knew are now unavailable.
You should uninstall debian's UHD version, when installing the Ettus one. You also must uninstall debian's GNU Radio.

You will have to build GNU Radio against the UHD library version you're using. You *can* in theory, do that on the bananapi itself, but I don't think that is going to be fun (or short) -- after all, it's an embedded device, and not a development workstation, so CPU and RAM are sparse.
There are three ways you can go from here: (1) build GNU Radio on the bananapi, (2) cross-compile it for the debian armhf port and (3) rolling out openembedded and treating your bananapi as a cool embedded device rather than a boring slow PC.

Method (1)
=======
This should be the easiest path: use pyBOMBS, as it should do everything for you[0], and take roughly veeeeeery long.

Method (2)
=======

I think that in the long run, if you want to do software development for the bananapi, anyway, setting up a cross-compilation environment will be what you want to do.
However, I'm not really used to doing cross-builds myself; I can only outline what you will have to do:

On your (easiest case: debian) workstation:

* Install the appropriate cross toolchain[2], and all the libraries[1] lists as necessary in their development version and target-arch (armhf) compatible version. I think that will be the hardest part, as it's a bit debian specific.
* Follow [3] . Replace the oe-sdk-toolchain.cmake file with a debian/armhf one -- you can have a look at the existing arm toolchain file[4], copy and modify it, replacing all compiler names with their gcc-armhf-... or similar pendants. Trick: use your currently installed "gnuradio-config-info --cflags" to get appropriate CMAKE_CXX_FLAGS, in addition to the right -m*** flags, that might be omitted in the output.

Method (3)
=======

Alternativile, follow [5] and replace the debian on your bananapi with an openembedded self-rolled system.
OpenEmbedded allows you to deploy your own application-specific system, including everything from OS to application (but not much more).

No matter what you do, we'd like to hear of your success (and/or struggle). If you generate any useful build script / toolchain files / tips and tricks / blog posts ... we'd love to hear of them!

Greetings,
Marcus

[0] http://gnuradio.org/redmine/projects/pybombs/wiki/QuickStart
[1] http://gnuradio.org/doc/doxygen/build_guide.html
[2] https://wiki.debian.org/CrossToolchains
[3] https://gnuradio.org/redmine/projects/gnuradio/wiki/Cross_compile_GNU_Radio_and_install_on_target
[4] https://github.com/gnuradio/gnuradio/blob/master/cmake/Toolchains/arm_cortex_a8_native.cmake
[5] https://gnuradio.org/redmine/projects/gnuradio/wiki/OE_PyBOMBS

On 03/18/2015 11:51 AM, Zamrath Nizam wrote:
Hi all, 

I have recently installed UHD and GNURadio on Bananapi (armhf) board adding  "deb http://ftp.de.debian.org/debian jessie main" in "/etc/apt/sources.list".

dpkg -i gnuradio_3.7.5-5_armhf.deb
apt-get update

dpkg -i uhd-host_3.4.2-1_armhf.deb
apt-get -f install

When I install OpenBTS, built was errored since UHD was not picked up. (uhd.pc was not in "/usr/local/lib/pkgconfig"). 
Therefore, I had to install uhd-master from ettus research git repo and built. And then OpenBTS was built without a problem.

After connecting USRP N210, even though ping process is also okay, 

"uhd_find_devices" gives,
linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown
uhd_find_devices: symbol lookup error: uhd_find_devices: undefined symbol: _ZN3uhd6device4findERKNS_13device_addr_tENS0_15device_filter_tE

"uhd_usrp_probe" gives,
linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown
uhd_usrp_probe: symbol lookup error: uhd_usrp_probe: undefined symbol: _ZN3uhd6device4makeERKNS_13device_addr_tENS0_15device_filter_tEj

When running './OpenBTS'",
ALERT 3069485584 10:17:51.9 TRXManager.cpp:434:powerOff: POWEROFF failed with status -1
linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown
Using internal clock reference
./transceiver: symbol lookup error: ./transceiver: undefined symbol: _ZN3uhd6device4findERKNS_13device_addr_tENS0_15device_filter_tE
EMERG 3065672784 10:17:52.5 OpenBTS.cpp:156:startTransceiver: Transceiver quit with status 32512. Exiting.

I have erased the memory and proceeded again with caution but the result was same. Could  anyone please suggest me a resolution? 

Thanks.

Best,
Zamrath Nizam


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

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