Gnu Radio Companion Download Mac



After downloading and installing UUI, use it to install the The GNU Radio Live SDR Environment ISO image to your USB flash drive. UUI will ask you to select a.iso file. Select ISO image you downloaded to your desktop in the previous step. For convenience, you can also choose 1000 to 2000 MB. This is a script that comes with GNU Radio. Download the example scripts from the GNURadio repository. GNU Radio Companion (GRC) is a graphical user interface that allows you to build GNU Radio flow Keep in mind that every time you run your flow graph in GRC, it will overwrite the Python script that is. 0-tools. ctl-script depends on sudo.

  • 1Installing GNU Radio on MacOS X / macOS
    • 1.5From Source
    • 1.8Typical Errors and Warnings

GNU Radio has been compiled and installed on OSX 10.4 ('Tiger') through 10.15 ('Catalina') running any compatible version of Xcode on all recent and many older Macs -- whether Intel or PowerPC/PPC. There is very little support for getting the background libraries and applications installed on OSX 10.5 or earlier, nor 32-bit Intel or any PPC, though all of these should be possible. Primary support is for 64-bit Intel-based Macs running OSX 10.6 or newer.

Prerequisite: X11.app, recommended via XQuartz[edit]

Running almost any GNU Radio graphical interface (GUI) will require downloading and installing X11/XQuartz first. Through OSX 10.8, Apple provided a means to install X11.app, but XQuartz has always been more up to date and hence is recommended for use. Staring in OSX 10.9, Apple no longer provided a full working version of X11.app. Hence, just use XQuartz from the get-go. Note that unless you experiment with using the Quartz interface to various graphical toolkits (e.g., GTK), you must use X11.app as the terminal interface for GNU Radio GUI applications including GRC, the GNU Radio Companion.

A note about DYLD_LIBRARY_PATH and other DYLD environment variables[edit]

On OSX, the library search path is set primarily by the environment variable DYLD_LIBRARY_PATH (and the few other DYLD_* variables). Because of the way the OSX dynamic library loader works, this variable works differently than the LD_LIBRARY_PATH on Linux. Its primary purpose is in finding libraries in a local path, such as when testing software before installing it (we use it in make test in GR), or inside an application. We strongly recommend against setting this variable globally as is typically done with Linux and LD_LIBRARY_PATH. Setting any DYLD_* environment variable for general use is highly discouraged, because doing so, in our experience, leads to problems down the road that are very difficult to diagnose. OSX provides robust means for correcting DYLD-based issues even after dependencies are installed.

Via MacPorts (recommended)[edit]

If you do not already have MacPorts installed, you will need to install it first. Make sure to follow the MacPorts shell environment changes needed such that MacPorts installed executables are found before all others. These are the only changes to the shell environment needed to execute any MacPorts-installed executable!

Once MacPorts is installed, GNU Radio and all of its dependencies can be installed by executing

This method of installing GNU Radio is actively kept up to date by Michael Dickens, and hence is the recommended way to install GNU Radio on Mac OS X.

The latest developments in GNU Radio can be installed via

Please note that the gnuradio-devel port, while tested for basic compilation and functionality, is not a formal release and hence should be considered beta software which might contain bugs or major issues.

Other Package Managers[edit]

Fink and HomeBrew might provide a simple way to install GNU Radio; they are untested (as of early 2020).

From Source[edit]

Background Dependencies[edit]

There are a number of background libraries and applications that must be installed from source or binary in order to compile or execute GNU Radio. These can be obtained by using MacPorts, Fink, HomeBrew, and/or from source / scratch. MacPorts tends to be more up-to-date with respect to new releases, which can be both a blessing and a curse since sometimes new released are untested and result in build or runtime errors. MacPorts, HomeBrew, and Fink offer thousands of ready-to-install libraries and applications, and hence they are highly recommended to use instead of installing from source / scratch.

NOTE: We highly recommended that you install all dependencies via the same package manager! When issues arise, they are much easier to track down, and your updating to newer versions is also much easier.

Many GNU Radio developers first install GNU Radio using MacPorts in order to get all of the necessary background dependencies installed, then remove just GNU Radio via

Compiling GNU Radio using Kate Temkins build script[edit]

Kate Temkin's GitHub repository gnuradio-for-mac-without-macports provides a build script that automate the entire process of building and installing GNUradio, it's dependencies, and a number of SDR hardware backends.

Compiling GNU Radio from Source[edit]

Installing GNU Radio from source follows the standard build guide, with changes to the cmake command such that it always finds the correct version of Python, uses the desired compiler, and finds Sphinx to build documentation.

For example, using Xcode 5 or later's Apple GCC (llvm flavor), MacPorts installed into /opt/local (the default), and for Python 2.7 (as installed by MacPorts), issue the following commands from within the GNU Radio source directory:

If make succeeds, then you can test the build for errors via

Gnu radio companion download mac download

$ make test

To install the build, issue

$ sudo make install

Selecting another compiler is as simple as changing the CC and CXX pre-arguments to the cmake command. Note that all of the -DPYTHON* defines must point to the same install of Python, otherwise runtime errors are likely to occur. GR_PYTHON_DIR sets the location into which GNU Radio's Python and SWIG files are to be installed.

By default, the location where cmake built projects will be installed is /usr/local. To change this location, add -DCMAKE_INSTALL_PREFIX=/path/to/new/location to the cmake command line, substituting in the actual desired path for /path/to/new/location. For example, to install into /opt/local, use -DCMAKE_INSTALL_PREFIX=/opt/local. Although we do not generally recommend installing into the same location as some other package manager does, this technique can be useful for debugging purposes; just remember to sudo make uninstall before installing via the owning package manager.

A note about GR_PYTHON_DIR CMake setting and the PYTHONPATH environment variable[edit]

In the above cmake command, we use the flag GR_PYTHON_DIR to tell GNU Radio where to install its Python scripts and related SWIG libraries. The path noted in that command will work for the MacPorts installed python2.7 command. All of the rest of the installed files will be under the /usr/local prefix -- the default CMake setting for when -DCMAKE_INSTALL_PREFIX is not specified.

If you either do not set the GR_PYTHON_DIR flag, or use some other location, you might need to tell Python where to find the installed files. This is done by setting the environment variable PYTHONPATH to include this path. For example, if no GR_PYTHON_DIR or CMAKE_INSTALL_PREFIX flag is specified on the cmake command, then the default install directory will be /usr/local/lib/python2.7/site-packages, and you'll want to set the PYTHONPATH such as the folllwing

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

Download Gnu Radio Companion

This setting might be in the file ~/.profile, ~/.bashrc, or ~/.bash_profile.

When using a package manager such as MacPorts, for most users it is recommended to use the version of GNU Radio provided by the package manager, which will not require changing the PYTHONPATH since that package manager will automatically install the GNU Radio Python files where its Python will find them.

Upgrading to a new version of OSX on the same computer[edit]

When you upgrade OSX, you'll generally need to reinstall GNU Radio (and, all of its dependencies). If you are using MacPorts, you can follow their migration guide to do the reinstallation. You can always just remove all of the old installed files and/or reinstall over them.

Typical Errors and Warnings[edit]

Library not found[edit]

If you are compiling an out of tree module from source, some of them do not set the INSTALL_NAME by default. Without a correct set INSTALL_NAME, the library's self-id will be incorrect and the SWIG library will fail to be able to find the module's primary library. The actual runtime error will look like

Running otool -L on the libraries returns just the dependent library name without path, e.g.,

This issue has been fixed within GNU Radio and is in modtool, and has been propagated to many GR projects. The simple solution is to paste the following chunk of code into the module's top-level CMakeLists.txt file (just after GR_LIBRARY_DIR is defined):

Another solution is to change the installed main and SWIG libraries to have the correct settings. In the case above for gr-air-modes, one could do the following to fix the issue:

Warnings: GTK[edit]

When executing a GNU Radio GUI, including gnuradio-companion, GTK will produce the following warnings on OSX 10.8; they can safely be ignored:

Error: Unusable DISPLAY[edit]

When executing a GNU Radio GUI, including gnuradio-companion, from a terminal window (e.g., Terminal.app, iTerm2.app, X11.app) when not the primary user or when the DISPLAY environment variable is not correctly set, one typically sees the following, regardless of OSX version:

followed by a host of related failed assertions and errors.

If you are using Terminal.app, you'll need to switch to another terminal application such as XQuartz/X11.app or iTerm2.app .

If you are already using an application that correctly sets the DISPLAY environment variable, then you'll want to make sure you're logged in as the primary user (e.g., not as su to another user). If all else fails, try quitting and restarting the application. Try rebooting your computer. When all else fails, contact Michael.

Fatal error: 'unistd.h' file not found[edit]

If your install fails and you notice a line in the reported log file that says something like Fatal error: 'unistd.h' file not found, it's likely due to the path to the active developer tools not correctly setup. To fix, simply execute the following command:

Gnu Radio Companion Blocks

xcode-select --install

Gnu Radio Companion Manual

A confirmation dialog box will pop-up and the tools will be installed. From here, re-kickstart the gnuradio installation and you should be good to go.

Gnu Radio Companion Download Mac Software

Retrieved from 'https://wiki.gnuradio.org/index.php?title=MacInstall&oldid=7090'

Gnu Radio Companion Examples

NameMost Recent CommitDescriptionGNU Radio supported versions
gr‑satellitesSept. 26, 2020A collection of decoders for Amateur satellitesv3.8
gr‑pdu_utilsSept. 26, 2020Tools for manipulation of PDU objectsv3.7, v3.8
gr‑sandia_utilsSept. 26, 2020A collection of assorted GR functions and extended in-tree blocksv3.7, v3.8
gr‑pagerSept. 26, 2020Motorola FLEX protocol decoderv3.8
gr‑fhss_utilsSept. 24, 2020Broadband energy based burst detection blocksv3.7, v3.8
gr‑timing_utilsSept. 24, 2020Tools for advanced timing within GRv3.7, v3.8
gr‑limesdrSept. 22, 2020gr-limesdr blocks are used to control LimeSDR family devices
gr‑loraSept. 21, 2020GNURadio blocks for receiving LoRa modulated radio messages using SDR
gr‑iridiumSept. 19, 2020GNURadio components to receive and demodulate Iridium framesv3.7,v3.8
gr‑iridiumSept. 19, 2020GNURadio components to receive and demodulate Iridium framesv3.7,v3.8
gr‑clenabledSept. 17, 2020Short description of gr-clenabled
gr‑dvbs2Sept. 15, 2020A DVB-S2 and DVB-S2X transmitter.
gr‑iioSept. 7, 2020Analog Devices' IIO blocks for GNU Radio
gr‑hpsdrSept. 7, 2020modules for OpenHPSDR Hermes / Metis and Red Pitaya
gr‑bokehguiSept. 4, 2020Provides various sinks and widgets to allow interaction with the live GNU Radio applications remotely over the network
gr‑mixalotSept. 1, 2020Blocks/utilities to encode pager messages
XFDMSyncAug. 25, 2020Schmidl&Cox based synchronization blocks for multicarrier modulation
gr‑ettusAug. 21, 2020Experimental UHD and USRP features for GNU Radio
gr‑ccsdsAug. 14, 2020Short description of gr-ccsds
gr‑aisAug. 13, 2020None
gr‑keyfobAug. 12, 2020A transceiver for some Hella key fobs
gr‑fooAug. 12, 2020some utility blocks
gr‑ieee802‑15‑4Aug. 12, 2020An IEEE 802.15.4 (ZigBee) Transceiver
gr‑ieee802‑11Aug. 12, 2020IEEE 802.11 a/g/p Transceiver
gr‑fcdproplusAug. 11, 2020A GNU Radio funcube dongle and funcube dongle pro+ source
gr‑rdsAug. 7, 2020FM RDS/TMC Transceiver
gr‑gmugroundJuly 28, 2020A collection of OOT modules for developing an amateur satellite communications ground station.
gr‑nrsc5July 27, 2020A GNU Radio implementation of HD Radio (NRSC-5)
gr‑gfdmJuly 24, 2020Implementation of the GFDM waveform for usage in GNU Radio3.8, 3.9
gr‑isdbtJuly 23, 2020A complete receiver for the digital TV standard ISDB-T.
gr‑ax25July 15, 2020None
gr‑symbolmappingJuly 10, 2020blocks and functions for symbol mapping and bit interleaving3.8, 3.9
gr‑lilacsatJuly 10, 2020None
gr‑finite‑streamJuly 7, 2020Blocks for handling streams of finite lengthv3.8
gr‑dabJuly 7, 2020GNU Radio Digital Audio Broadcasting modulev3.8
gr‑cessbJuly 5, 2020A Controlled Envelope SSB transmitter.
gr‑paintJuly 2, 2020An OFDM spectrum painter/transmitter.
gr‑tutorialJune 14, 2020None
gr‑hrptJune 3, 2020HRPT blocks from gr-noaa and others for gr3.8+
gr‑specestMay 25, 2020Implementations of many spectral estimation algorithms
gr‑revengMay 11, 2020Short description of gr-reveng
gr‑hamMay 11, 2020A collection of GNU Radio blocks useful for amateur radio
gr‑lazyviterbiMay 8, 2020Short description of gr-lazyviterbi
gr‑air‑modesMay 6, 2020None
gr‑yuv2palApril 20, 2020Blocks to convert YUV-signal into PAL.
gr‑filerepeaterApril 19, 2020A set of GNURadio blocks with more control over how files are played
gr‑lfastApril 19, 2020Short description of gr-lfast
gr‑mesaApril 19, 2020Short description of gr-mesa
gr‑grnetApril 13, 2020Short description of gr-grnet
gr‑symbolrateApril 13, 2020Short description of gr-symbolrate
gr‑bazApril 9, 2020Short description of gr-baz
gr‑correctiqMarch 1, 2020Short description of gr-correctiq
gr‑gpredict‑dopplerFeb. 13, 2020None
gr‑guiextraFeb. 12, 2020Short description of gr-guiextra
gr‑inspectorFeb. 6, 2020A signal analysis toolbox for GNU Radiov3.7,v3.8
gr‑mthpowerJan. 25, 2020Feed Forward Frequency and Phase recovery for M-PSK
gr‑flarmJan. 11, 2020A GNU Radio implementation of the FLARM protocol
gr‑dsdJan. 10, 2020A GNU Radio wrapper for Digital Speech Decoder (DSD)
gr‑elsterJan. 10, 2020A receiver for Elster REX2 smart meters
gr‑dect2Jan. 5, 2020None
gr‑fosphorDec. 8, 2019GNU Radio block for RTSA-like spectrum visualization using OpenCL and OpenGL accelerationv3.7, v3.8
gr‑iqbalDec. 4, 2019GNU Radio block to correct IQ imbalance in quadrature receiversv3.7, v3.8
gr‑gwncppvgbOct. 8, 2019GNU Wireless Network, a data network development toolkit
gr‑aepSept. 10, 2019A GNU Radio Module for performing beamforming using Adaptive Event Processing
gr‑microtelecomAug. 31, 2019Microtelecom's Perseus SDR source module
gr‑rsttAug. 26, 2019Receiver for Vaisala Weather Balloons
gr‑gsmJuly 25, 2019A GSM receiver
gr‑doaJuly 8, 2019Direction Finding with the USRP X-Series and TwinRX
gr‑framersApril 7, 2019None
gr‑bluetoothMarch 21, 2019None
aistxDec. 4, 2018None
gr‑mapperOct. 23, 2018Symbol to Bit Mapping and Demapping Blocks for GNU Radio
gr‑analysisOct. 9, 2018None
gr‑lpwanSept. 20, 2018gr-lpwan contains implementation of IEEE802.15.4k Standard
gr‑corrsounderSept. 13, 2018Short description of gr-corrsounder
gr‑guitarSept. 12, 2018Short description of gr-guitar
gr‑drmAug. 22, 2018DRM/DRM+ transmitter
gr‑message_toolsMay 31, 2018None
gr‑fbmcApril 11, 2018FBMC PHY Layer for GNU Radio
gr‑ntsc‑rcMarch 30, 20185.8 GHz ammateur drone wireless video feed TX and RX
gr‑radarMarch 8, 2018GNU Radio Radar Toolbox
gr‑ofdmMarch 6, 2018A complete OFDM implementation including GUI for reasearch and teaching
gr‑lteFeb. 20, 2018LTE downlink receiver blocks
gr‑signal_exciterDec. 6, 2017Efficient Wide-band signal aggregation
gr‑eb200Oct. 3, 2017GNU Radio module to use the R&S EB200 protocol for IQ data
gr‑ysfSept. 19, 2017None
gr‑loraJuly 20, 2017An open source implementation of the LoRa CSS PHY
gr‑outernetJuly 18, 2017Short description of gr-outernet
SUPACARSJune 26, 2017None
gr‑merJune 14, 2017An open source implementation of QAM Modulation error measurements in GNU Radio.
gr‑ambe3000May 24, 2017Uses the NW Digital Radio AMBE USB Dongle to encode/decode audio
gr‑cspMay 13, 2017Blocks and python class to deal with Cubesat Space Protocol packets
gr‑bruningaMay 13, 2017None
gr‑kissMay 13, 2017Assorted blocks to deal with KISS and AX.25 data
gr‑dvbtApril 24, 2017None
libfreesrpApril 16, 2017None
gr‑tagutilsApril 15, 2017None
gr‑naclApril 10, 2017GNU Radio module for data encryption using NaCl library
gr‑eventstreamApril 8, 2017The event stream scheduler
gr‑pcapApril 2, 2017PCAP recording and playback
gr‑fm0Feb. 15, 2017gr-fm0 only contains a minimal FM0 encoder
gr‑cdmaDec. 20, 2016None
gr‑polarisDec. 14, 2016OOT Module for DRS Polaris Receiver
gr‑tfNov. 5, 2016Short description of gr-tf
gr‑flexfftOct. 14, 2016OOT Module for displaying Flex FFT data
gr‑burstOct. 12, 2016None
gr‑theanoOct. 11, 2016blocks leveraging the theano library to run code in graphics cards
gr‑mediatoolsOct. 10, 2016None
libfecOct. 3, 2016None
gr‑nordicSept. 27, 2016Short description of gr-nordic
gr‑rftapSept. 22, 2016RFtap is a protocol designed to provide RF metadata about packets
gr‑picoAug. 15, 2016OOT Modules for DRS Picoflexor Single Channel Receiver and Picoflexor Transceiver
gr‑ra_blocksJuly 22, 2016None
gr‑aleJuly 14, 2016None
gr‑pyqtJuly 12, 2016Python QT Plotters and Message Tools Repo
sdr‑tvJuly 2, 2016None
gr‑psk31May 9, 2016None
gr‑tpmsMarch 8, 2016None
gr‑dvbt2Feb. 8, 2016A DVB-T2 transmitter.
gr‑nmeaJan. 10, 2016interface to NMEA and GPSD sources
gr‑lacrosseDec. 24, 2015None
gr‑rttyDec. 21, 2015None
gr‑adsbJuly 26, 2015None
gr‑acars2July 16, 2015None
GR_RCCarJuly 15, 2015None
gr‑multimonJune 24, 2015None
gr‑streamsinkJune 8, 2015None
gr‑fsk‑burstMay 31, 2015None
gr‑uhdgpsMay 28, 2015GR Blocks to assist in GPS Data logging with UHD and a GPSDO
gr‑benchmarkApril 4, 2015a performance measurement tool for GNU Radio
gr‑psk‑burstApril 1, 2015None
gr‑macSept. 19, 2014None
measurement_toolboxAug. 22, 2014None
gr‑smithchartApril 19, 2014None
gr‑zmqblocksApril 14, 2014None
gr‑ldpcApril 8, 2014None
grcompatMay 31, 2013None
gr‑packetradioMarch 2, 2013None
gr‑pocsagJan. 6, 2013None
gr‑smartnetJune 9, 2012None