Gnuradio seems to be missing gr-iio in Fedora 40

Hi,

according to this site gr-iio is included in gnuradio 3.10 or newer. But in Fedora it seems to be missing.

There is a stackoverflow post (GNURADIO 3.10 : PlutoSDR (and all Industrial I/O) blocks missing? - Stack Overflow) regarding that problem. But I feel a bit uncomfortable installing all build dependencies and build gnuradio myself.

Are there any other solutions I’m not aware of?

It seems I can install gnuradio from fedora and it pulls in several dependencies.

Before I actually install it please tell us how you installed it, and explicitly what errors you may be seeing as well as what you are trying when the error occurs.

How are you determining that the needed gr-iio is not already included?

Thanks for your answer. I didn’t see any errors but the blocks needed for the Adalm Pluto hardware aren’t available in gnuradio-companion.

I installed it with sudo dnf install gnuradio followed by sudo dnf install 'gr-*' to install all gnuradio plugins.

when you installed gnuradio you missed gnuradio-doc, gnuradio-examples, and at least one devel package (gnuradio-devel).
Installing with sudo dnf install gnuradio* pulls in those 3 as well as sdl12-compat-devel and volk-devel as dependencies.

I suspect that gr-iio is included in the base package since it is not available separately on fedora and the docs say that version 3.10+ requires that function. Fedora provides 3.10.9.2.

I also see that pluto is available both as source and sink (soapy_pluto_…) under the /usr/share/gnuradio/grc/blocks/ directory.
image

I really don’t see why I should install the documentation, examples and the devel package to get support for my hardware. But anyway I installed it and the Pluto SDR Block is still not there.

This is the Soapy Pluto Block, which doesn’t work on my installation btw. I assume there is a library missing.
The real Pluto SDR Block can be found under Industrial IO/Pluto SDR:
industrial

And looks like this:
plutosdr

Screenshots taken from an Ubuntu 23.10 VM after installing only the gnuradio paket.

Root cause is that libad9361-iio is not packaged by Fedora. This is a dependency for gr-iio to build. So GNURadio is built and packaged without gr-iio.

Yeah. I think there is a pull request for Fedora rawhide regarding this: PR#10: Build with libiio support - rpms/gnuradio - src.fedoraproject.org

I tried to build this for Fedora 40 but had no luck. The Pluto SDR Block is there then but does’nt seem to work.

Pretty confident that this is not going to work for PlutoSDR until libad9361 is packaged for Fedora and libad9361-devel is made a build dependency of gnuradio. That PR does not address the root cause of the issue.

https://wiki.analog.com/resources/tools-software/linux-software/gnuradio#dependencies

I manually built and installed libad9361, then rebuilt the RPM from SRPM. This left me with a working gr-iio (and working pluto source/sink) but with a broken package dependency system as RPM does not know about the libad9361-devel and libiio-devel dependency. And libad9361 is not installed via RPM. It would be trivial to package it though, were I so inclined. There is an SRPM here to start from: libad9361-0-0.7.20170207git6027674.fc32 | Build Info | koji

It was orphaned after F32.