[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
- gnuradio (+ friends) packages for conda on Linux, macOS, and Windows,
Ryan Volz <=