InstallingGR: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
Line 82: Line 82:
For a list of additional cmake flags, as well as minimum versions of dependencies, see [https://www.gnuradio.org/doc/doxygen/build_guide.html]
For a list of additional cmake flags, as well as minimum versions of dependencies, see [https://www.gnuradio.org/doc/doxygen/build_guide.html]


= Using PyBOMBS to Build from Source =
= Using PyBOMBS =


PyBOMBS is good at building UHD and GNU Radio from source, and installing into a specific isolated directory.  It creates the proper directory structure and setup_env.sh file for you.  To install the latest stable version of GNU Radio and UHD, run the following:
PyBOMBS is good at building UHD and GNU Radio from source, and installing into a specific isolated directory.  It creates the proper directory structure and setup_env.sh file for you.  To install the latest stable version of GNU Radio and UHD, run the following:

Revision as of 17:19, 19 May 2019

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.

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.

Windows

Binary installers are now available for 3.7.10, 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 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:

  • If you want to use GNU Radio with a USRP, install UHD package or follow the UHD Manual Build Guide.
  • By default GNU Radio will be installed under /usr/local - for installing in a custom directory you might as well just use PyBOMBS since it creates the correct directory structure and setup_env.sh file for you.
  • Running and developing out-of-tree modules does not require GNU Radio to be installed from source.

For how to install dependencies, if you are using Ubuntu see UbuntuInstall.

To install system wide:

(doesn't matter which directory you start in, can be home, or /tmp, or ~/Downloads)
git clone --recursive http://git.gnuradio.org/git/gnuradio.git
cd gnuradio
mkdir build
cd build
cmake ../
make
make test
sudo make install

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 UHD and GNU Radio from source, and installing into a specific isolated directory. It creates the proper directory structure and setup_env.sh file for you. To install the latest stable version of GNU Radio and UHD, run the following:

sudo apt-get install python-pip
sudo pip install pybombs
pybombs auto-config
pybombs recipes add-defaults
pybombs prefix init ~/gnuradio -R gnuradio-default
(wait a while) 
. ~/gnuradio/setup_env.sh
gnuradio-companion

This will clone and install uhd and gnuradio into a directory called "gnuradio" in your home directory.

Using the Old Build Script

(Note: Currently does not support Ubuntu 18.04)

The build-gnuradio is an install script for recent Fedora and Ubuntu systems provided by Marcus Leech.

The build-gnuradio script has a number of options that we can use to install different versions of GNU Radio. Just running build-gnuradio with no additional options, it fetches/builds the latest released version from the 3.7 series.

Passing the flag -m will fetch and build master/HEAD.

Passing the flag -o will fetch and build the latest in the old 3.6 series.

For the impatient: open a terminal window, move to the directory you would like the source files to be stored (e.g. 'cd src/'), remove old build-gnuradio file, and run this command:

$ wget https://www.sbrac.org/files/build-gnuradio && chmod a+x build-gnuradio && ./build-gnuradio

This downloads the installer (build-gnuradio) and makes it executable. It then downloads and installs all dependencies, downloads both UHD and GNU Radio from Git (which means it will automatically install the latest version from the 'master' branch), runs the make process, and installs it on your system (a lot of this is done silently, so if there's a lot to do for the script, don't be surprised if it doesn't say anything for a while). In most cases, simply running the script will do all you need to get a running GNU Radio system built from source. Also, you will have all the source code lying on your hard disk and therefore available for future modifications. It combines the flexibility of installing from source with the ease of using binaries and is recommended for most users of Ubuntu and Fedora.

Thanks to Marcus Leech for putting this together and hosting it.

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, read the page on how to use GNU Radio. You probably want to connect some Hardware to your computer to try and receive or transmit stuff. If you or your group would like to get a professional jump start on using GNU Radio and the USRP, Corgan Labs offers a 3-day, hands-on training class that can be held at your own location.