4 Jan 2010   Emphasize this page is for OS X 10.4 only, also change gnuradio.org/trac to /redmine
To install GNU Radio on recent Mac hardware and operating systems, consult the Build Guide and Mac Install pages at the GNU Radio Wiki:
http://vps.gnuradio.org/redmine/wiki/gnuradio/BuildGuide,
MacInstall
These pages describe our installation of GNU
Radio 3.0 and 3.1 with the USRP hardware on Mac OS X 10.4 Tiger on PPC Macs.
The sources for some of the software packages and the
locations of some of the installed software are different in our
installation than in the installation described at the Wiki.
Overview
Prerequisites
Modules
Dependencies
Locations
Environment variables
Next steps
We installed the Subversion (svn) version control system to check out
the source code. GNU Radio no longer uses CVS.
We installed MacPorts, a utility for installing and managing
open-source software for the Mac.
We installed the tools collectively called the autotools:
autoconf, automake, libtool, and pkgconfig. We installed the swig
tool. We installed the libraries boost, fftw-3-single, cppunit, and
libusb. We installed the SDCC compiler. We got all of these from
MacPorts. Details follow.
We installed the wxPython GUI tools and libraries, the NumPy
mathematics libraries. We didn't get these from MacPorts. Details
follow.
GNU Radio itself comes organized into several modules
(separate collections of files). You choose which modules you want to
install (although some modules depend on others). You identify the
modules to install in the
build configuration.
We install gnuradio-core, gr-wxgui, usrp, gr-usrp, gr-audio-osx,
gnuradio-examples, gr-utils, gr-how-to-write-a-block, and omnithread.
The gnuradio-core module is a self-contained system with no GUI and no
device support. With just this module, you can code and test signal
processing networks that get input and output from arrays, files, or
sockets.
The gr-wxgui module adds a GUI, including an oscilloscope and a spectrum
analyzer.
The usrp and gr-usrp modules add support for the USRP hardware, which is
connected to the computer's USB port, and provides analog input and output
at radio frequencies via programmable mixers (up- and
down-converters).
The gr-audio-osx modules adds audio input
and output using the Mac's built-in sound hardware.
The gnuradio-examples module provides some sample programs that use
the other modules. Many programs that demonstrate the USRP are in this
module.
The gr-utils module provides more sample programs, emphasizing
diagnostics.
Here are the dependencies between some modules and prerequisites (where a:
b c means a depends on b and c).
Overview
GNU Radio is distributed as source code. Therefore, the installation
procedure is rather elaborate: you must also install the tools and
libraries needed to build GNU Radio, not just to run it.
But once you have done that, you are all set up to be a GNU Radio
developer, not just a user.
Prerequisites
We installed Apple's Xcode programming tools and libraries, but we
don't use the Xcode GUI to build or install GNU Radio. We do it all
from the command line (in a terminal window).
Modules
Dependencies
gnuradio-core: | boost fftw-3-single cppunit NumPy |
gr-wxgui: | gnuradio-core NumPy wxPython |
usrp: | libusb sdcc |
gr-usrp: | usrp gnuradio-core |
gnuradio-examples: | usrp gnuradio-core gr-wxgui |
In addition to the dependencies shown here, the autotools are needed to build every module. The swig tool is needed to build every module except usrp.
It is most convenient when the OS X software, the GNU Radio prerequisites, and GNU Radio itself are in different locations (because they are updated on different schedules, etc.)
The prerequisites install themselves in four different places:
/opt/local/... | Prerequisites from MacPorts |
/usr/local/bin | wxPython programs (not used by GNU Radio) |
/usr/local/wxPython-ansi-2.6.1.0/... | wxPython headers and libraries |
/Library/Python/2.3/... | wxPython and NumPy Python libraries |
/Users/user/gnuradio/... | GNU Radio build directory tree |
/Users/user/gnuradio/gnuradio-core/... | gnuradio-core module build directory |
/Users/user/gnuradio/gr-wxgui/... | gr-wxgui module build directory |
... other modules ... | ... other module build directories ... |
/Users/user/gr/... | GNU Radio installed files for all modules |
Where user is the name of your home directory. For example, my installed GNU Radio files are under /Users/jon/gr/....
Checking out the GNU Radio sources from the Subversion repository creates the gnuradio build directory. You may put it wherever you want. It contains the module directories gnuradio/gnuradio-core etc. Details to come.
The configure command you issue when you build GNU Radio puts the installed files under any directory you choose. Making a separate GNU Radio install directory gr is more convenient than installing the GNU Radio files among all the other software under /usr/local or /opt/local. For example, it makes it easy to experiment with multiple installed versions of GNU Radio.
I put both gnuradio and gr under my home directory so I wouldn't have to fuss with permissions, admin accounts, or sudo to build or install.
We define several environment variables to build and run GNU Radio. Details to come.
Installing the prerequisites Installing GNU Radio Using the GUI Using the USRP
Jon Jacky, jon@u.washington.edu