Changes required in PPA dependency

Hi @joshblum

I just realized that every time Ettus updates UHD in their PPA, it replaces the previous version, practically breaking all binary packages that were built using the previous version. I think this happens because the package name is libuhd003 regardless of the version number, and so they can only have one version installed at a time.

I have filed an issue just to make sure they are aware of this.

Of course this makes me think that our PPA should not depend on the Ettus PPA but either use the version available in Ubuntu or we should import a version in our drivers PPA and update at our own convenience. Otherwise our PPA will keep breaking every time the fix a spelling error :frowning:

1 Like

Build against UHD 3.7.11 fails:

dpkg-shlibdeps: error: no dependency information found for /usr/lib/x86_64-linux-gnu/libuhd.so.3 (used by debian/gnuradio/usr/lib/python2.7/dist-packages/gnuradio/uhd/_uhd_swig.x86_64-linux-gnu.so)
Hint: check if the library actually comes from a package.

I have also started an attempt to backport gnuradio 3.7.11, but I suspect that will fail the same way. If so, I will remove dependency on the Ettus PPA and rebuild using the old UHD libraries.

Right, so this doesn’t sound ideal. Curious as to your thoughts on the best way forward, @joshblum.

Not ideal is an understatements as everything depending on UHD crashes. That’s how I learned about it :frowning:

I think the PPA is now in a sort of usable state after:

  1. I disabled PPA dependency on UHD PPA
  2. I rebuilt gnuradio for Trusty and Xenial (using UHD 3.9 available in Ubuntu or our PPA)
  3. I rebuilt gr-osmosdr for Trusty, Xenial and Artful with UHD disabled

The last item was sort of panic action to fix installations that already got UHD 3.11 installed.

SoapyUHD is still broken.

Not sure what the way forward is. There was feedback on the issue I opened and it sounds like the versioning will get fixed soon. We can try to build again using UHD 3.11 but it is very bad timing for me right now.

Alex

I am currently trying this model:

  1. Copy UHD 3.10.x package from Ettus PPA to Myriadrf/drivers
  2. Rebuild GNU Radio and gr-osmosdr using that driver

Copying package from one PPA to another is simple through the web interface.

Alex

PPA seems usable again with UHD 3.10.3 in the myriadrf/drivers PPA and Ettus/UHD PPA removed as dependency.

1 Like

Thanks for sorting this out, it’s much appreciated.

@csete,

I think I’m facing the same problem when rebuilding the GnuRadio blocks in GNSS-SDR after the recent updates of Ettus/UHD PPA. I would appreciate it if you could show us more detailed instructions on how to rewind the updated UHD libraries to the previous ones and rebuild GnuRaido, gr-osmosdr, and SoapyUHD.

I can only help with sorting out problems with the MyriadRF and Gqrx PPAs. I can’t help with source builds, sorry.

… at least it’s not clear to me whether your problem is with the PPA or building GNU Radio & co from source.

In the case of using the PPA, a simple “sudo apt upgrade” will do, except that this will disable UHD support in gr-osmosdr and gr-uhd will still be broken. The latter can be solved by removing the Ettus PPA for now and uninstalling UHD 3.11. Uninstalling UHD will also remove gr-uhd, but it can be reinstalled again and it will use the UHD included in our PPA.

If you install everything from source, then an upgrade of UHD requires rebuilding everything that depends on it. That’s the part I wont spend any time on.

Thank you for sharing your insights. I will try to remove the Ettus PPA and uninstall UHD 3.11.