X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=README;h=6eeb0fe8ae68be216bda4dbe7d64e3f88f561db9;hb=f20b3e2a48a4b9ae7a8b87b1361749c290d99e39;hp=d2378f6bfac5e058323b8cf021b420dc3752b88a;hpb=86f5c92427b3f4bb30536d76cf63c3fca388fb2f;p=debian%2Fgnuradio diff --git a/README b/README index d2378f6b..6eeb0fe8 100644 --- a/README +++ b/README @@ -1,11 +1,11 @@ # -# 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, @@ -22,44 +22,50 @@ 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. 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 -Please see http://gnuradio.utah.edu/trac for the wiki, bug tracking, -and source code viewer. The bleeding edge code can be found in our subversion repository at -http://gnuradio.utah.edu/svn. To checkout the latest, use this +http://gnuradio.org/svn. To checkout the latest, use this command: - $ svn co http://gnuradio.utah.edu/svn/gnuradio/trunk gnuradio + $ svn co http://gnuradio.org/svn/gnuradio/trunk gnuradio For information about subversion, please see: 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 - below. With the exception of SDCC, the following GNU/Linux + below. The word "system" is used to mean "operating system + and/or distribution", and means a full operating system, + including kernel, user-space utilties, and a packaging system + for additional software. On Linux, this means what + "distribution" means. + + 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 - distribution. See the wiki at - http://gnuradio.utah.edu/trac/wiki for details. + distribution. + + On systems using pkgsrc (e.g. NetBSD and Dragonfly), build + meta-packages/gnuradio, which will build a previous release and + force installation of the dependencies. Then pkg_delete the + gnuradio and usrp packages, which will leave the dependencies. + (This should also work on OSX.) + + 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" @@ -89,13 +95,31 @@ That's it! ------------------------------------------------------------------------------- Prerequisites: Before trying to build these from source, please try -your installation tool (apt-get, YaST, yum, urpmi, etc.) first. -Contemporary distributions have these packages available. +your system's installation tool (apt-get, pkg_install, YaST, yum, +urpmi, etc.) first. Most recent systems have these packages +available. You'll need to do a bit of sleuthing to figure out what your OS and -packaging system calls these. If your system has both a foo and a -foo-devel package, install them both. +packaging system calls these. If your system uses the convention of +splitting files needed to run programs compiled with foo and files +needed to do the compilation into packages named foo and foo-devel, +install both packages. (Most GNU/Linux systems are like this, but +pkgsrc is not and instead uses -devel to indicate a package of a +not-yet-released or unstable version.) + +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" @@ -104,7 +128,8 @@ foo-devel package, install them both. libtool 1.5 or later If your system has automake-1.4, there's a good chance it also has -automake-1.7 or later. Check your install disk and/or try: +automake-1.7 or later. Check your install disk and/or (on GNU/Linux) +try: $ man update-alternatives @@ -128,26 +153,31 @@ floating point version which we use. You should also use either the --enable-3dnow or --enable-sse options if you're on an Athlon or Pentium respectively. +[FIXME: GNU/Linux packages of single-precision fftw are typically called ??] + +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 distribution splits -python into a bunch of separate RPMS including python-devel or +(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. Your distribution almost certainly -has the boost libraries available. In the unlikely event that it -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 @@ -157,8 +187,7 @@ Unit testing framework for C++. (8) Simple Wrapper Interface Generator. http://www.swig.org -These versions are known to work: - 1.3.23, 1.3.24, 1.3.25, 1.3.27, 1.3.28, 1.3.29 +As of repository version 4045, gnuradio requires version 1.3.31 or newer. (9) SDCC: Small Device C Compiler. http://sdcc.sourceforge.net/ @@ -170,31 +199,52 @@ 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: -(10) wxPython. Python binding for the wxWidgets GUI framework. -Use version 2.5.2.7 or later. Again, your distribution almost -certainly has this available. +(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 +(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 python version number in the path needs to match your +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.3/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). -You may want to add this to your ~/.bash_profile Another handy trick if for example your fftw includes and libs are @@ -203,3 +253,12 @@ installed in, say ~/local/include and ~/local/lib, instead of $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib $ make CPPFLAGS="-I$HOME/local/include" + + +Sometimes the prerequisites are installed in a location which is not +included in the default compiler and linker search paths. This +happens with pkgsrc and NetBSD. To build, tell configure to use these +locations: + + LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib" CPPFLAGS="-I/usr/pkg/include" ./configure --prefix=/usr/gnuradio +