Skip to content
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake cmake: Export settings for OOTs Mar 23, 2019
docs gr-analog: sig source byte support mode, added qa tests #1994 Apr 19, 2019
dtools Merge remote-tracking branch 'origin/next' into merge_next Aug 31, 2018
gnuradio-runtime pmt: needs to link with Boost::thread Apr 21, 2019
gr-analog gr-analog: sig source byte support mode, added qa tests #1994 Apr 19, 2019
gr-audio audio: fix build on OSX Apr 21, 2019
gr-blocks blocks: Modify File Source block to work with named pipes and devices. Mar 31, 2019
gr-channels cmake: Update to modern CMake usage Mar 4, 2019
gr-comedi cmake: Update to modern CMake usage Mar 4, 2019
gr-digital Add C++ generation support to gr-digital Mar 31, 2019
gr-dtv dtv: Fix scrambler and BCH encoder for MEDIUM size frames. Apr 19, 2019
gr-fec cmake: Update to modern CMake usage Mar 4, 2019
gr-fft cmake: Update to modern CMake usage Mar 4, 2019
gr-filter filter: Fix rational resampler GRC binding. Apr 19, 2019
gr-qtgui gitignore: ignore autogen files in example folders Mar 24, 2019
gr-trellis cmake: Update to modern CMake usage Mar 4, 2019
gr-uhd uhd: fix freq_hopping example - missing 'time' Mar 8, 2019
gr-utils modtool/Py2k: str.maketrans('','','*&') -> replace('*','').replace('&… Apr 21, 2019
gr-video-sdl cmake: Update to modern CMake usage Mar 4, 2019
gr-vocoder vocoder: Fix build on NetBSD. Mar 24, 2019
gr-wavelet cmake: Update to modern CMake usage Mar 4, 2019
gr-zeromq gitignore: ignore autogen files in example folders Mar 24, 2019
grc grc: Squelch more debug messages. Apr 22, 2019
tools tools: update clang_format.py to work on GR repo Dec 16, 2018
volk @ d250816 volk: update submodule pointer to modern CMake volk Mar 4, 2019
.clang-format formatting: add verbose .clang-format defining GR code style Nov 21, 2018
.gitattributes Add .gitattributes to fix CRLF problems on MinGW/MSYS Oct 10, 2009
.gitignore .gitignore: ignore build*/ instead of just build/ Nov 9, 2018
.gitmodules add volk submodule Mar 29, 2015
CHANGELOG.md
CMakeLists.txt cmake: The WARNING mode to message() needs to be capitalized. Apr 21, 2019
COPYING Updated license from GPL version 2 or later to GPL version 3 or later. Jul 21, 2007
README.hacking Merge branch 'master' into next Feb 3, 2018
README.md Update README.md with instructions about PyBOMBS and python3.x Feb 14, 2019
config.h.in runtime: Make GR_MPLIB_* a config.h define and fix gnuradio-runtime.p… Aug 23, 2018

README.md

Build Version 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://www.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

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
    

    or

    $ 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.

PyBOMBS with support of python 3.x

PyBOMBS currently builds GNU Radio with support of python 2.7, so to make it work with python 3.x, instructions are given below.

  1. Change the PYTHONPATH line in setup_env.sh, to just 3.x paths.

  2. Find the PyBOMBS recipe "gnuradio.lwr" in .pybombs directory, check this for reference

    https://github.com/gnuradio/gr-recipes/blob/master/gnuradio.lwr
    
  3. Change the "gitbranch" to "master".

  4. In gnuradio.lwr recipe file, add "-DENABLE_CTRLPORT_THRIFT=OFF" in "config_opt".

  5. Clear out your prior GR PyBOMBS build(s) and tell PyBOMBS to install via this recipe.

    pybombs install gnuradio
    

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.

You can’t perform that action at this time.