#
-# Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+# Copyright 2001,2002,2003,2004,2005,2006,2007,2009 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
Welcome to GNU Radio!
-As of August 3, 2006 we have restructured the GNU Radio build process
-and moved the source code repository from CVS to subversion.
-
Please see http://gnuradio.org/trac for the wiki, bug tracking,
-and source code viewer.
+and source code viewer. If you've got questions about GNU Radio, please
+subscribe to the discuss-gnuradio mailing list and post your questions
+there. http://gnuradio.org/trac/wiki/MailingLists
+There is also a "Build Guide" in the wiki that contains OS specific
+recommendations. See http://gnuradio.org/trac/wiki/BuildGuide
+
The bleeding edge code can be found in our subversion repository at
http://gnuradio.org/svn. To checkout the latest, use this
http://subversion.tigris.org/
-
-GNU Radio is now distributed as one giant blob, instead of N smaller
-blobs. We believe that this will reduce some of the build problems
-people were seeing. Now you'll always get all of the code, and the
-configure step will determine which components can be built on your
-system.
-
-
How to Build GNU Radio:
(1) Ensure that you've satisfied the external dependencies listed
With the exception of SDCC, the following GNU/Linux
distributions are known to come with all required dependencies
- pre-packaged: Ubuntu 6.06, SuSE 10.0 (the pay version, not the
- free download), Fedora Core 5. Other distribution may work too.
+ pre-packaged: Ubuntu 8.10, SuSE 10.0 (the pay version, not the
+ free download), Fedora Core 9. Other distribution may work too.
We know these three are easy. The required packages may be
contained on your installation CD/DVD, or may be loaded over the
net. The specifics vary depending on your GNU/Linux
See the wiki at http://gnuradio.org/trac/wiki for details.
- FIXME: update the wiki; talk about OS/X, NetBSD and MinGW too.
(2) do the "usual dance"
For those using pkgsrc, see gnuradio-pkg_chk.conf. Those not using
pkgsrc may also find the list useful.
+(0) GNU make
+
+It used to be required to have a "reasonable make", meaning GNU make,
+BSD make, or perhaps Solaris make. It is now required to use GNU
+make. Version 3.81 should certainly work; the intent is not to
+require the bleeding edge.
+
+Note that the examples below are written with "make". They probably
+should say "gmake", as GNU make is installed as gmake when it is not
+the native make.
+
(1) The "autotools"
autoconf 2.57 or later
respectively.
[FIXME: GNU/Linux packages of single-precision fftw are typically called ??]
-In systems using pkgsrc, install math/fftwf.
+In systems using pkgsrc, install math/fftwf, which provides the
+single-precision libraries.
-(4) Python 2.3 or later http://www.python.org
-Python 2.3 or later is now required. If your system splits
+(4) Python 2.5 or later http://www.python.org
+
+Python 2.5 or later is now required. If your system splits
python into a bunch of separate packages including python-devel or
libpython you'll most likely need those too.
-(5) Numeric python library http://numeric.scipy.org
+(5) Numpy python library http://numeric.scipy.org
Provides a high performance array type for Python.
-http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=1351
+http://numpy.scipy.org
+http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103
-(6) The Boost C++ Libraries http://www.boost.org
+(6) The Boost C++ Libraries (1.35 or later) http://www.boost.org
-We use the Smart Pointer library. Most systems already have the boost
-libraries available. In the unlikely event that yours doesn't,
-download the source and follow the build instructions. They're
-different from the normal ./configure && make
+We use Smart Pointers, the thread library and a bunch of other boost stuff.
+If your system doesn't have boost 1.35 or later, see README.building-boost
+for additional info. (Note: Mac OSX systems require 1.37 or later.)
(7) cppunit 1.9.14 or later. http://cppunit.sourceforge.net
build the firmware for the USRP. If you don't have a USRP, don't
worry about it.
+
(10) Guile 1.6 or 1.8
Scheme interpreter. http://www.gnu.org/software/guile/guile.html
+(11) GNU Scientific Library (gsl) 1.10 or later
+
+The GNU Radio core library uses some routines from here.
+
Optional, but nice to have:
-(11) wxPython. Python binding for the wxWidgets GUI framework. Use
-version 2.5.2.7 or later. Again, almost all systems have this
+(12) wxPython. Python binding for the wxWidgets GUI framework. Use
+version 2.8 or later. Again, almost all systems have this
available.
As a last resort, build it from source (not recommended!)
http://www.wxpython.org
-(12) xmlto version ? or later. http://cyberelk.net/tim/xmlto/index.html
+(13) xmlto version ? or later. http://cyberelk.net/tim/xmlto/index.html
Wrapper for XML conversion tools to ease e.g. making html from docbook.
+(14) Python Cheetah extensions 2.0.0 or later
+(15) Python lxml wrappers 2.0.0 or later
+(16) Python gtk wrappers 2.10.0 or later
+
+The GNU Radio Companion application requires these additional Python libraries
+to be installed.
----------------------------------------------------------------
-If you've got doxygen installed and provide the --enable-doxygen
-configure option, the build process creates documentation for the
-class hierarchy etc. Point your browser at
+If you've got doxygen installed, the build process creates
+documentation for the class hierarchy etc. Point your browser at
gnuradio/gnuradio-core/doc/html/index.html
-To run the examples you'll need to set PYTHONPATH. Note that the
+To run the examples you may need to set PYTHONPATH. Note that the
prefix and python version number in the path needs to match your
installed version of python.
- $ export PYTHONPATH=/usr/local/lib/python2.4/site-packages
+ $ export PYTHONPATH=/usr/local/lib/python2.5/site-packages
You may want to add this to your shell init file (~/.bash_profile if
you use bash).
-Note that on Fedora Core 4 and 5 when running on X86_64 machines,
-python is shippped with a strange (wrong) configuration that requires
-you to add both the lib64 and lib paths to your PYTHONPATH.
-E.g.,
-
- $ export PYTHONPATH=/usr/local/lib64/python2.4/site-packages:/usr/local/lib/python2.4/site-packages
-
-[Don't complain to us, complain to the Fedora Core packagers.]
Another handy trick if for example your fftw includes and libs are
locations:
LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib" CPPFLAGS="-I/usr/pkg/include" ./configure --prefix=/usr/gnuradio
+