InstallingGR

From GNU Radio
Revision as of 22:37, 18 January 2020 by Duggabe (talk | contribs) (final changes to export commands)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

From Binaries

The recommended way to install GNU Radio on most platforms is using already available binary packages. For some platforms there are no binaries provided by available package managers or the GNU Radio project. In these cases please contact maintainer of the package manager or the GNU Radio project to find a sensible way to provide binaries for your platform.

In addition to using binaries, GNU Radio can be installed:

  1. From source (for those who want full control)
  2. Using PyBOMBS (for those who want it built from source and/or installed to a specific directory using a script)
  3. Premade Linux Live DVD/USB (great for someone without a Linux machine who just wants to try it out)

Linux

Most distributions contain a package named gnuradio or similar in their standard repositories. For most use cases it is enough to install this package and start developing.

The development of GNU Radio is can be fast-paced, and binaries provided by your distribution may be outdated. Do check if the version you're installing is up to date! Sometimes old versions are not updated in the packaging systems. If you find a bug in a older GNU Radio version, please check if the bug still exists in the newer version of GNU Radio before filing it.

If the version shipped in your distribution is outdated please contact the corresponding maintainer to update it in the packaging system.

Examples of how to install GNU Radio in various Linux distributions (click each one for more installation details):

Distribution Command
Debian/Ubuntu and derivates
$ apt install gnuradio
Fedora
$ dnf install gnuradio
RHEL/CentOS
$ yum install gnuradio
Archlinux
$ pacman -S gnuradio
Gentoo Linux
$ emerge net-wireless/gnuradio
Suse Linux

On other distributions, simply use the appropriate package management command to install the gnuradio package and add it to this list. If you need newer versions or have a different platform please contact the package maintainer of your distribution or raise your issue on the mailing list.

Ubuntu PPA Installation

For Ubuntu, the latest builds (both released and pulled from master branch) are maintained as PPAs on launchpad. Be sure to uninstall gnuradio first.

To access the latest released version, add the gnuradio/gnuradio-releases ppa (removing other gnuradio ppas if already configured)

$ sudo add-apt-repository ppa:gnuradio/gnuradio-releases

To access the latest from the master branch, add the gnuradio/gnuradio-master ppa (removing other gnuradio ppas if already configured)

$ sudo add-apt-repository ppa:gnuradio/gnuradio-master

To access the 3.7 released version (legacy), add the gnuradio/gnuradio-releases-3.7 ppa (removing other gnuradio ppas if already configured)

$ sudo add-apt-repository ppa:gnuradio/gnuradio-releases-3.7

Then, update the apt sources, and install gnuradio

$ sudo apt-get update
$ sudo apt install gnuradio

Fedora COPR Installation

Packages are available for Fedora 29,30,31 hosted under COPR:

https://copr.fedorainfracloud.org/coprs/gnuradio/

1. Add the repository:

-- For the latest released version:

$ sudo dnf copr enable gnuradio/gnuradio-releases 

-- For the latest pull from git master:

$ sudo dnf copr enable gnuradio/gnuradio-master 

2. Install GNU Radio

$ sudo dnf install gnuradio 

Windows

Binary installers are now available for 3.8.0.0, download them here.
If you need to install GNU Radio from source refer to the Windows install guide.

Note: We do not officially support Windows. We do our best to provide installation instructions and work out build bugs on Windows when they are reported and patches received. As new versions of GNU Radio, its dependencies, and Windows itself come out, however, keeping all of them working together is beyond the scope of what the project currently supports. User updates to the above wiki installation instructions are very welcome.

Mac OS X

Refer to the Mac OS X install guide page.

From Source

Binary installation should be sufficient for most users, and certainly for anyone who is new to GNU Radio. However, if you have special requirements, want the latest version, or the binary packages are not working for you, you may want to install GNU Radio from source.

Notes

To install system wide

It doesn't matter which directory you start in; it can be home, ~/Downloads, etc.; but gnuradio will become a sub-directory of that starting point.

  • git clone --recursive https://github.com/gnuradio/gnuradio.git
  • cd gnuradio
  • git checkout maint-3.8 # change `maint-3.8` if you want to use a different version; see releases
  • mkdir build
  • cd build
  • cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../ # see other options below
  • Note: if your computer has multiple cores, you can use the -j option for 'make' to speed compilation, e.g. make -j3 but specify one less than the total so the system does not appear to 'freeze'.
  • make
  • make test
  • sudo make install
  • sudo ldconfig


When you start gnuradio-companion, if you get the following error message:

ModNotFound.png

then put the following in your .bashrc or .bash_aliases file and restart your terminal.
For Debian / Ubuntu, and derivatives, and other 32-bit OS use:

export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python3/site-packages

Other 64-bit systems may require:

export PYTHONPATH=/usr/local/lib64/python3/site-packages

Common cmake flags

  • -DENABLE_GR_XXX=ON This enables (or disables for =OFF) the GNU Radio component named XXX. You might not need all of them, and this way, you can compile quicker.
  • -DCMAKE_INSTALL_PREFIX=XXX Install your stuff to XXX.
  • -DCMAKE_BUILD_TYPE=Debug This causes gcc to add debug symbols to all binaries. Useful for debugging (otherwise, it decreases efficiency!)
  • -DPYTHON_EXECUTABLE=/usr/bin/python{2,3} This selects the Python version and executable to be used during build time and will determine which Python libraries will be used for building the Python bindings.

For a list of additional cmake flags, as well as minimum versions of dependencies, see [1]

Using PyBOMBS

PyBOMBS is good at building GNU Radio, UHD, and various Out of Tree (OOT) modules from source and then installing into a specified user directory rather than in the system files. PyBOMBS detects the user's Operating System and loads all of the prerequisites in the first stage of the build.

The PyBOMBS documentation is in the PyBOMBS README.

Bootable DVD with GNU Radio Pre-installed

One can download a fully pre-configured GNURadioLiveDVD that allows trying out GNU Radio without installing GNU Radio onto a PC. To make a permanent installation of GNU Radio, one will still needs to choose from the options described above.

OK, it's installed, what now?

If the installation worked without any trouble, you're ready to use GNU Radio! If you have no idea how to do that, the best place to start is with the Guided_Tutorial_Introduction. Also, you probably want to connect some Hardware to your computer to receive or transmit stuff.