C++ Python C CMake Fortran Matlab Other
Latest commit 098dc3e Apr 28, 2017 @jmcorgan jmcorgan Merge branch 'maint'
Failed to load latest commit information.
cmake runtime: turn off spurious SWIG warning about self Apr 17, 2017
docs Merge remote-tracking branch 'gnuradio-github/pr/1251' Apr 12, 2017
dtools Removed whitespace and added dtools/bin/remove-whitespace as a tool t… Apr 13, 2012
gnuradio-runtime Merge branch 'maint' Apr 28, 2017
gr-analog Merge branch 'maint' Apr 23, 2017
gr-atsc cmake: delete indirect GSL dependencies Mar 22, 2017
gr-audio Merge branch 'maint' Apr 17, 2017
gr-blocks blocks: add missing parameter documentation in tag_share Apr 17, 2017
gr-channels Merge branch 'maint' Jun 20, 2016
gr-comedi cmake: clean up Mar 22, 2017
gr-digital digital: use GR_LOG for debug/error output in correlate_access_code_*… Apr 21, 2017
gr-dtv Merge remote-tracking branch 'gnuradio-github/pr/1269' Apr 10, 2017
gr-fcd fcd: Update hidapi to latest HEAD. Sep 23, 2016
gr-fec Merge remote-tracking branch 'gnuradio-github/pr/1247' Mar 27, 2017
gr-fft cmake: clean up Mar 22, 2017
gr-filter cmake: add log4cpp to runtime includes Mar 22, 2017
gr-noaa grc: assign all in-tree blocks to module 'Core' May 27, 2016
gr-pager grc: assign all in-tree blocks to module 'Core' May 27, 2016
gr-qtgui Merge branch 'maint' Apr 23, 2017
gr-trellis cmake: clean up Mar 22, 2017
gr-uhd gr-uhd: dont assign back to args Apr 14, 2017
gr-utils Modified add_custom_command to not try to execute "" Feb 15, 2017
gr-video-sdl cmake: clean up Mar 22, 2017
gr-vocoder cmake: add log4cpp to runtime includes Mar 22, 2017
gr-wavelet cmake: add log4cpp to runtime includes Mar 22, 2017
gr-wxgui cmake: clean up Mar 22, 2017
gr-zeromq Merge remote-tracking branch 'gnuradio-github/pr/1211' Apr 13, 2017
grc grc: Add hide field in parameter block Apr 10, 2017
volk @ 4465f9b Revert "volk: update submodule to latest master" Feb 26, 2017
.gitattributes Add .gitattributes to fix CRLF problems on MinGW/MSYS Oct 10, 2009
.gitignore Restored files erroneously merged from SOCIS polar branch. Sep 25, 2015
.gitmodules add volk submodule Mar 29, 2015
CMakeLists.txt cmake: fix off-by-one on version check for swig Apr 17, 2017
COPYING Updated license from GPL version 2 or later to GPL version 3 or later. Jul 21, 2007
README.building-boost README files: Fix typos. Oct 29, 2014
README.hacking completing the half sentence about when to use C++ Jun 18, 2015
README.md docs: Add markdown styling to README Apr 11, 2017
RELEASE-NOTES.md docs: updated release notes for 3.7.11 Feb 27, 2017
config.h.in controlport: Addes a FindThrift cmake module to find the Thrift heade… Apr 2, 2015


AUR Docs

GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used with readily-available, low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in hobbyist, academic, and commercial environments to support both wireless communications research and real-world radio systems.

Please visit the GNU Radio website at https://gnuradio.org/ and the wiki at https://wiki.gnuradio.org/. Bugs and feature requests are tracked on GitHub's Issue Tracker. If you have questions about GNU Radio, please search the discuss-gnuradio mailing list archive, as many questions have already been asked and answered. Please also subscribe to the mailing list and post your new questions there.

How to Build GNU Radio


PyBOMBS (Python Build Overlay Managed Bundle System) is the recommended method for building and installing GNU Radio. Please see https://github.com/gnuradio/pybombs for detailed instructions. Abbreviated instructions are duplicated below.

  1. Install PyBOMBS:

    $ [sudo] pip install PyBOMBS


    $ git clone https://github.com/gnuradio/pybombs.git
    $ cd pybombs
    $ sudo python setup.py install
  2. Add PyBOMBS recipes:

    $ pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git  
    $ pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
  3. Configure an installation prefix:

    $ pybombs prefix init ~/prefix/default/
  4. Install GNU Radio:

    $ pybombs install gnuradio
  5. Run GNU Radio Companion from your new prefix:

    $ source ~/prefix/default/setup_env.sh
    $ gnuradio-companion

    or execute it without changing the current environment

    $ pybombs run gnuradio-companion

Manual Source Build

Complete build instructions are detailed in the GNU Radio Build Guide. Abbreviated instructions are duplicated below.

  1. Ensure that you have satisfied the external dependencies, see GNU Radio Dependencies.

  2. Checkout the latest code:

    $ git clone https://github.com/gnuradio/gnuradio.git
  3. Build with CMake:

    $ cd gnuradio
    $ mkdir build
    $ cd build
    $ cmake [OPTIONS] ../
    $ make
    $ make test
    $ sudo make install

    Useful [OPTIONS] include setting the install prefix -DCMAKE_INSTALL_PREFIX=<directory to install to> and the build type -DCMAKE_BUILD_TYPE=<type>. Currently, GNU Radio has a "Debug" type that builds with -g -O2 which is useful for debugging the software, and a "Release" type that builds with -O3, which is the default.

Legal Matters

Some files have been changed many times throughout the years. Copyright notices at the top of source files list which years changes have been made. For some files, changes have occurred in many consecutive years. These files may often have the format of a year range (e.g., "2006 - 2011"), which indicates that these files have had copyrightable changes made during each year in the range, inclusive.