The gnuradio package in Arch is at 3.9.4 and marked as outdated for almost 2 months now. Not a huge issue, but there's a bug in the QT range slider that's fixed in the later versions.

I need the osmosdr block in gnuradio since it looks like it allows me to specify a devicestring to select my LimeSDR as the radio in use.

First thought: install gnuradio-git

Installing gnuradio-git got me straight to 3.11.0, all good, however I need the osmosdr block for which there's no -git AUR package.

The community/gnuradio-osmosdr package is linked against community/gnuradio which is at 3.9.4 and will not work.

The simple test is python -c "import osmosdr" which will error with libgnuradio-runtime.so.3.9.4 not found. Of course it's not there because gnuradio-git replaces community/gnuradio along with those shared libraries.

The trick: rebuild gnuradio-osmosdr from source

Rebuilding from source will force linking gnuradio-osmosdr against libgnuradio-runtime.so.3.11.0 that's provided by gnuradio-git.

We'll use the asp tool to fetch the package definitions from git.

asp update
asp checkout gnuradio-osmosdr
asp checkout gnuradio-iqbal

pushd gnuradio-iqbal && makepkg -ci && popd
pushd gnuradio-osmosdr && makepkg -ci && podp

Keeping that order as osmosdr is dependent on iqbal.

Now both libraries are reinstalled and linked against gnuradio-git. The test runs fine now.

Ihh..

Alternatives

Install gnuradio with pybombs

I wasn't in the mood to fully understand how it works nor debug the errors. It feels like it's using some items already on the system? Idk, tbd next time.

Install gnuradio with nix

The slides are from this talk: GRCon18 - GNU Radio Ecosystem Management with Nix.

I was tempted to do this. I've used nix in the past to quickly get around system's package manager limitations. It's so nice to just pop a nix shell and use whatever you need in isolation.

The problem here is that the nix gnuradio package is at 3.9.3 currently, one minor version behind arch, so no quick win here.

I could go down the rabbit hole and create a custom nix spec, but it'd rather not.