discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnuradio (+ friends) packages for conda on Linux, macOS, and Windows


From: Ryan Volz
Subject: gnuradio (+ friends) packages for conda on Linux, macOS, and Windows
Date: Thu, 16 Jul 2020 17:30:38 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

Hi everybody,

Over the past few months, I've managed to build conda packages for GNU Radio, 
some out of tree modules, and other related software and make them available 
through conda-forge (https://conda-forge.org/). The partial list includes:

gnuradio
gnuradio-osmosdr
gnuradio-soapy
gqrx
libiio
pyadi-iio
rtl-sdr
uhd
volk

The packages have been built for Linux, macOS, and Windows for the environments 
that conda-forge supports, which should work pretty widely. This means it may 
now be easier to get the most recent versions of these packages (and more can 
be added!) running on your system! I've personally found it useful for getting 
new users (mostly students) started with an SDR stack.

A bit of background for anyone unfamiliar: conda is a cross-platform package 
and environment manager, and conda-forge is a community-supported set of build 
recipes and built packages that you can install into a conda environment. The 
original focus of conda was for Python packages and related compiled software, 
but it has grown from there. You install a conda distribution, which provides a 
base environment, and then you can create new contained environments and 
install different combinations of software in them.

To get running with GNU Radio, you'll first need to have a conda distribution 
installed. Anaconda is the main commercially-supported distribution and what 
most people probably use (https://docs.anaconda.com/anaconda/install/), but 
there is also a lightweight version called Miniconda 
(https://docs.conda.io/en/latest/miniconda.html) and a community-supported one 
called Miniforge that is put out by the conda-forge folks 
(https://github.com/conda-forge/miniforge). Once you have a distribution 
installed for your platform, I'd then recommend creating an environment 
specifically for GNU Radio (look up 'conda create' and 'conda activate').

Then from your conda environment, you need to add the conda-forge channel as a 
package source:

$ conda config --env --prepend channels conda-forge
$ conda config --env --set channel_priority strict

Then you can install the packages with

$ conda install <package-name>

where <package-name> can come from the set of GNU Radio and related packages 
listed above.

There are also a couple OOT modules that I have on my personal channel 
'ryanvolz' (conda config --env --append channels ryanvolz) for which I am 
waiting on a compatible release before they can be brought to conda-forge:

gnuradio-iio
gnuradio-radar

So if you're interested, give any of these a try! I've done my best so far to 
make sure they work, but I only have my Linux machine, Windows VM, and friends 
running macOS with which to test, so feedback from the wider community would be 
welcome. For that, it's best to file bug reports on the conda-forge Github for 
the corresponding package "feedstock", e.g. 
https://github.com/conda-forge/gnuradio-feedstock.

If anyone is interested in seeing more packages for other related software or 
OOT modules, I'm also happy to assist in writing the recipe and getting it onto 
conda-forge. The nice thing is that anyone can contribute new conda-forge 
packages or improvements in the form of pull requests, so you also don't need 
me at all if you're so inclined!

I'm planning on keeping at least all of the current packages up to date with 
new releases as my time allows, but I would certainly welcome co-maintainers or 
any bits of extra help. Just let me know or get involved on github!

Cheers,
Ryan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]