I’m having the same issue as kenerny back in August 17 (Ettus update of UHD baseline has broken gr-uhd or gr-osmosdr), however it is now between ABI 3.10.2 and 3.10.3. Googling shows that I just have to request an update to gr-uhd and gr-osmosdr, and this is the place to do it. For reference, here is the error message I am getting when trying to run a recently compiled GQRX:
FATAL:
GR-UHD detected ABI compatibility mismatch with UHD library.
GR-UHD was build against ABI: 3.10.2,
but UHD library reports ABI: 3.10.3
Suggestion: install an ABI compatible version of UHD,
or rebuild GR-UHD component against this ABI version.
I think things should be ok if you have packages from both the ettus ppa and myriad rf ppa installed. So my advice is to make sure that there arent any duplicates of the same packages both from ppa and from source builds. And anything you do compile from source, if thats going to rely on something from the ppa as a dependency, install its corresponding -dev packages rather then try to build its development stuff from source, which might mismatch.
A lot of problems like this stem from having multiple different versions the same things in the default system paths. I actually added the GR-UHD detected ABI compatibility mismatch with UHD library check specifically because its so much easier to get this message than segfault
Anyway, not entirely sure what was built/installed/where/and in what combinations, but I hope this pointer helps.
So I just did a full reinstall of GQRX following the guild exactly as its listed here. I ensured that everything GQRX was removed from my system myself before adding the repositories. http://gqrx.dk/download/install-ubuntu
When I run uhd_find_devices, the first line of output shows: linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.003.000-0-gd9643b9d
It’s possible that in the past, I installed a library that I should not have. Is there a way to check installed libraries outside of aptitude? I believe it could be from an old GNURadio install. Should I try purging GNURadio from my system and reinstalling? I am not sure where this 3.10.3 ABI is coming from.
Edit: I just remembered that after installing GQRX, I also had to install the Ettus UHD as well (I am using a Ettus X300 USRP for my radio). This was done with the command line: sudo apt-get install libuhd-dev libuhd003 uhd-host
You can always check if there are libraries from source builds in /usr/local, and for anything in /usr, you should be able to find that corresponding deb with the standard dpkg tools and the like and see if it matches the on on the PPA.
Anyways, looks like they did update just 8 hours ago from this post: https://launchpad.net/~ettusresearch/+archive/ubuntu/uhd so it looks like we are in for a rebuild regardless at this point. Funny though, they skipped updating artful (the current release). Just xenial and trusty.
I’m having the same issue. Removed and reinstalled all components as per: http://gqrx.dk/download/install-ubuntu . However, libuhd 3.10.2 vs 3.10.3 issue is still unresolved. Does anyone know if the GR-UHD rebuild against 3.10.3 has happened and been propagated to the repositories? I’ve installed this about 10 times before on various machines and never run into this problem before. Any help appreciated. Thx.
issue :
RuntimeError:
GR-UHD detected ABI compatibility mismatch with UHD library.
GR-UHD was build against ABI: 3.10.2,
but UHD library reports ABI: 3.10.3
Suggestion: install an ABI compatible version of UHD,
or rebuild GR-UHD component against this ABI version.
I have reinstalled and removed all.
I have try 10 times at install Gnuradio and all components.
So I was able to fix the problem on my machine. The problem is that when I ran the command sudo add-apt install lubuhd-dev libuhd003 uhd-host
it would install UHD with the 3.10.3 ABI.
After struggling with building uhd-host etc. for a while (didn’t go smoothly for me) I came across what I think is the easiest solution based on reading posts from the last few times this happened.It only requires repository packages. Here it is in some detail. I’m running ubuntu 16.04LTS.
Remove all traces of old gnuradio/gqrx installations
sudo apt-get purge --auto-remove gqrx
sudo apt-get purge --auto-remove gqrx-sdr
sudo apt-get purge --auto-remove libgnuradio*
Download the required .deb files
Download from https://launchpad.net/~ettusresearch/+archive/ubuntu/uhd/+builds?build_state=built to any directory (e.g. Downloads). You will need the “Built files”:
libuhd-dev_3.10.2.0-0ubuntu1~xenial1_amd64.deb (835.7 KiB)
libuhd003_3.10.2.0-0ubuntu1~xenial1_amd64.deb (2.3 MiB)
uhd-host_3.10.2.0-0ubuntu1~xenial1_amd64.deb (2.2 MiB)
Right click on each of these and “Open With” GDebi Package Installer. To satisfy dependencies, the order of installation needs to be: libuhd003, libuhd-dev, uhd-host.
Lock the version of each of these in Synaptic Package manager
if Synaptic is not installed:
sudo apt-get install synaptic
Open Synaptic. Search for “uhd”. Find and highlight (select) each of the three packages you just installed above. Lock the version to 3.10.2 (the version that should be installed). Go to “Package” (in title bar) then “Lock Version”. Close Synaptic.
To upgrade gqrx etc in the future
Don’t forget to unlock the versions of libuhd003, libuhd-dev, uhd-host before attempting to upgrade gqrx, gnuradio, uhd, etc…