#
-# Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+# Copyright 2001,2002,2003,2004,2005,2006,2007 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
python into a bunch of separate packages including python-devel or
-libpython you'll most likely need those too.
+libpython you'll most likely need those too. The GNU Radio Companion
+application requires Python 2.5 or later.
-(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.
(7) cppunit 1.9.14 or later. http://cppunit.sourceforge.net
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
+(12) wxPython. Python binding for the wxWidgets GUI framework. Use
version 2.5.2.7 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.
----------------------------------------------------------------
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.
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
+