Hi Achilleas,

On 01/06/22 12:31, Achilleas Anastasopoulos wrote:
> I am working with gnuradio and usrps on an ubuntu 20.04
> 
> $ lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description:    Ubuntu 20.04.4 LTS
> Release:        20.04
> Codename:       focal
> 
> I usually update my uhd libraries from ettus binaries as described here:
> https://files.ettus.com/manual/page_install.html
> 
> $ sudo add-apt-repository ppa:ettusresearch/uhd
> $ sudo apt-get update
> $ sudo apt-get install libuhd-dev libuhd4.1.0 uhd-host
> 
> Then I usually build gnuradio from source (I am currently in v3.8).
> I DO NOT install gnuradio from repositories!
> 
> Today I tried to update the uhd libraries.
> [...]
> $ sudo apt-get install libuhd4.1.0
> [...]
> Now I am trying to install the "uhd-host" library:
> 
> $ sudo apt-get install uhd-host
> [...]
> *The following additional packages will be installed:  libuhd4.2.0
> [...]
> *******I do not understand why it asks to install also the
> libuhd4.2.0 library.

The UHD version from the PPA for focal is 4.2, not 4.1.
The issue here is that you first installed an outdated version
of the library before installing uhd-host (libuhd4.1.0).
You should have installed libuhd4.2.0 instead.

> If I do that, then I get the following errors:
> 
>  Y
> Selecting previously unselected package libuhd4.2.0:amd64.
> (Reading database ... 269464 files and directories currently installed.)
> Preparing to unpack .../libuhd4.2.0_4.2.0.0-0ubuntu1~focal1_amd64.deb ...
> Unpacking libuhd4.2.0:amd64 (4.2.0.0-0ubuntu1~focal1) ...
> dpkg: error processing archive
> /var/cache/apt/archives/libuhd4.2.0_4.2.0.0-0ubuntu1~focal1_amd64.deb
> (--unpack):
>  trying to overwrite '/usr/share/uhd/cal/cal_metadata.fbs', which is also
> in package libuhd4.1.0:amd64 4.1.0.4-0ubuntu1~focal1
> Selecting previously unselected package python3-ruamel.yaml.
> Preparing to unpack .../python3-ruamel.yaml_0.15.89-3build1_amd64.deb ...
> Unpacking python3-ruamel.yaml (0.15.89-3build1) ...
> Selecting previously unselected package uhd-host.
> Preparing to unpack .../uhd-host_4.2.0.0-0ubuntu1~focal1_amd64.deb ...
> Unpacking uhd-host (4.2.0.0-0ubuntu1~focal1) ...
> Errors were encountered while processing:
>  /var/cache/apt/archives/libuhd4.2.0_4.2.0.0-0ubuntu1~focal1_amd64.deb
> E: Sub-process /usr/bin/dpkg returned an error code (1)

Yeah, for some reason,
dpkg/apt does not consider libuhd4.1.0 and libuhd4.2.0 being
two version of the same package (libuhd).
I think that a known issue (or feature?) on Ettus side.

> Alternatively if I try to remove "libuhd4.1.0" and install the latest
> "libuhd4.2.0"
> [...]
> Now I can easily install the "uhd-host" library
> [...]
> BUT, when I try to install the "libuhd-dev" library I get the following
> which
> I suspect wants to install the entire gnuradio system from the repository,
> which as I said in the beginning I do not want, since I am usually building
> it from source.
> 
> $ sudo apt-get install libuhd-dev
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following additional packages will be installed:
>   freeglut3 gnuradio gnuradio-dev
> [...]
>   libuhd3.15.0
> [...]
> Can anyone help with this?

IMO, that's a dependency issue.
libuhd-dev has gnuradio-dev as recommended package,
and AFAIR, apt installs recommended package by default.
Apt tries to solve the deps+recommend for libuhd-dev_4.2 (from the PPA),
but it cannot find a compatible gnuradio-dev package
(the only gnuradio-dev package it can find is from the Ubuntu focal repo,
which is built upon UHD 3.15.0).
So apt tries the libuhd-dev package with a lower priority,
i.e. the one from Ubuntu focal repo.

Maybe this will work:
sudo apt-get install --no-install-recommends libuhd-dev
or
sudo apt-get isntall libuhd-dev gnuradio-dev-

-- 

Cédric Hannotier
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to