GNU Radio 3.5.3.2 C++ API
Build Instructions and Information

Dependencies

The list of GNU Radio dependencies and the minimum required versions, if any, to build the various GNU Radio components.

Most of these components do not need to be individually compiled or installed. Instead, rely on your operating system's package manager or binary installation process (the apt-get system in Debian and Ubuntu, yum in RedHat and Fedora, etc.). GNU Radio tries to keep an up-to-date build guide for the majority of the supported operating systems on gnuradio.org (http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide).

Not all dependencies are required for all components, and not all components are required for a given installation. The list of required components is determined by what the user requires from GNU Radio. If, for example, you do not use any Comedi-based hardware, do not worry about building gr-comedi.

Global Dependencies

Python Wrappers

docs: Building the documentation

grc: The GNU Radio Companion

gr-qtgui: The QT-based Graphical User Interface

gr-wxgui: The WX-based Graphical User Interface

gr-audio: Audio Subsystems (system/OS dependent)

uhd: The Ettus USRP Hardware Driver Interface

shd: The Symplex Hardware Driver Interface

  • shd (>= 3.0.0)

gr-video-sdl: PAL and NTSC display

gr-comedi: Comedi hardware interface

Building GNU Radio

GNU Radio is built using the Cmake build system (http://www.cmake.org/). The standard build method is as follows:

$ mkdir $(builddir)
$ cd $(builddir)
$ cmake [OPTIONS] $(srcdir)
$ make
$ make test
$ sudo make install

The $(builddir) is the directory in which the code is built. This cannot be the same path as where the source code resides. Often, $(builddir) is $(srcdir)/build.

Options can be used to specify where to find various library or include file dependencies that are not automatically being found (-DCMAKE_PREFIX_PATH) or set the prefix (-DCMAKE_INSTALL_PREFIX=(dir)).

Components can also be enabled and disabled through the options. For a component named *gr-comp*, the option to disable would look like: -DENABLE_GR_COMP=off. The "off" could also be "false" or "no", and cmake is not case sensitive about these options. Similarly, "true", "on", or "yes" will turn this component on. All components are enabled by default.

Building for the E100

To build GNU Radio on the Ettus Research E100 embedded platforms, Cmake has to know that the processors uses the NEON extensions. Use the

cmake -DCMAKE_CXX_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g" \
      -DCMAKE_C_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g" \
       <gr_source_dir>

Building Using Old Autotools Method

As of version 3.5, we have moved to using Cmake as the default, preferred build system. If for some reason, Cmake fails on your system, GNU Radio still includes the old autotools build process as a parallel build method. To build:

$ cd $(srcdir)
$ ./bootstrap   // only if not building from a tarball
$ cd $(builddir)
$ $(srcdir)/configure [options]
$ make [-jN]
$ make check
$ sudo make install