Sent from my iPhone

> On Apr 3, 2021, at 7:08 AM, Brendan Horsfield <b
> QUESTION 2:  This whole process feels more difficult than it should be.  Why 
> isn't the Python API installed with the UHD driver by default?  Would I be 
> better off using another language (like C++) to control the USRP?
> 
> Thanks,
> Brendan.
> 
Well, NI/Ettus have zero control over how various distros choose to package and 
build UHD, similarly for PyBombs—PyBombs isn’t maintained by NI/Ettus. 

So if you “land” on a distro where the packaged UHD doesn’t include Python 
support, then you end up building UHD yourself. Which may entail the pain you 
encountered due to missing compiler flags. 

Because the Linux world is so incredibly diverse, it’s rare that the developer 
of a given code base is also responsible for packaging for a given 
distro/platform. That’s why there are “package maintainers” for each distro, 
and they’re the ones who end up making decisions like enabling support for 
various options, turning on “weird” compiler flags, etc. 

UHD is no different in this regard. 

> 
> 
>> On Fri, Apr 2, 2021 at 11:25 PM Marcus D Leech <[email protected]> 
>> wrote:
>> Perhaps look at the PyBombs recipe for your platform—there’s probably a 
>> compiler flag that needs to be set that you’re missing, but I don’t know 
>> what that is. 
>> 
>> Also, in general, you don’t need to become root to compile and build 
>> code—only needed during the “make install”
>> 
>> 
>> 
>> Sent from my iPhone
>> 
>>>> On Apr 2, 2021, at 7:19 AM, Brendan Horsfield 
>>>> <[email protected]> wrote:
>>>> 
>>> 
>>> Hi Folks,
>>> 
>>> I would like to interface my Raspberry Pi 4 to a USRP B210 via the Python 
>>> API.  This requires the UHD driver to be built from source.  Unfortunately, 
>>> whenever I try this I encounter some errors that stop the build process in 
>>> its tracks.
>>> 
>>> Details of the error are as follows:
>>> 
>>> [ 53%] Linking CXX executable test_clock_synch
>>> /usr/bin/ld: ../lib/libuhd.so.4.0.0: undefined reference to 
>>> `__atomic_compare_exchange_8'
>>> /usr/bin/ld: ../lib/libuhd.so.4.0.0: undefined reference to 
>>> `__atomic_load_8'
>>> /usr/bin/ld: ../lib/libuhd.so.4.0.0: undefined reference to 
>>> `__atomic_store_8'
>>> /usr/bin/ld: ../lib/libuhd.so.4.0.0: undefined reference to 
>>> `__atomic_fetch_add_8'
>>> collect2: error: ld returned 1 exit status
>>> make[2]: *** [examples/CMakeFiles/test_clock_synch.dir/build.make:95: 
>>> examples/test_clock_synch] Error 1
>>> make[1]: *** [CMakeFiles/Makefile2:1039: 
>>> examples/CMakeFiles/test_clock_synch.dir/all] Error 2
>>> make: *** [Makefile:163: all] Error 2
>>> 
>>> The process I have been using is as follows:
>>> 
>>> STEP 1:  INSTALL DEPENDENCIES
>>> sudo apt-get install libboost-all-dev libusb-1.0-0-dev doxygen 
>>> python3-docutils python3-mako python3-numpy python3-requests 
>>> python3-ruamel.yaml python3-setuptools cmake build-essential
>>> 
>>> STEP 2:  BUILD UHD DRIVER FROM SOURCE
>>> cd /home/pi
>>> mkdir workarea-uhd
>>> cd workarea-uhd
>>> git clone https://github.com/EttusResearch/uhd
>>> cd uhd
>>> git checkout v4.0.0.0
>>> cd host
>>> mkdir build
>>> cd build
>>> sudo cmake -DNEON_SIMD_ENABLE=OFF -DENABLE_PYTHON_API=ON ../
>>> sudo make  --->  (ERRORS OCCUR DURING "MAKE" PROCESS)
>>> 
>>> My system configuration is as follows:
>>> Hardware: Raspberry Pi 4 Model B Rev 1.4
>>> OS: Raspbian GNU/Linux 10 (buster) (32-bit, armv7l)
>>> Ettus USRP B210
>>> 
>>> Does anyone know what the problem could be, and how I can resolve it?
>>> 
>>> One final note:  Using PyBOMBS, I was able to successfully build & install 
>>> the UHD driver and connect to the USRP.  Unfortunately the PyBOMBS build 
>>> does not include the Python API, which is what I really want.  Is there a 
>>> different version of the PyBOMBS build that includes the Python API?
>>> 
>>> Thanks & Regards,
>>> Brendan.
>>> 
>>> 
>>>   
>>> _______________________________________________
>>> USRP-users mailing list -- [email protected]
>>> To unsubscribe send an email to [email protected]
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to