Instead of using the 2.5 tarballs, I've decided to go off of cvs. Before downloading the files, I need to install the library dependencies
1. SWIG
2. FFTW
3. Boost Library
4. CPP Unit
I had a lot of problems getting it installed, however 4 hours later I successfully ran the USRP tests. Below is the cronological order of my ordeal. The 2 secrets were to follow the instructions on the list
here and I had to use swig version 1.2.24, 1.2.25 would not work so beware.
DO NOT FOLLOW THE ORDERS BELOW, it is for information and googling only and may help diagnose your problem. Do the above mentioned steps.
The system I am running is Ubuntu 5.04. Under Applications->system Tools->Add/Remove Programs choose the Advanced options and do a search for SWIG. As you can see the only option is for swig 1.3.22 and the
User's guide specifies version 1.3.24 as a minimum. So off to
www.swig.org to build from source. Nothing fancy was done, just the normal ./configure, make, make install.
For the FFTW library, we need at least version 3.0.1. In the Synaptic Package Manager we see ubuntu has version 3.0.1-11, yeah! So install from the package manager. Just to be safe I installed all the other fftw3 packages. Hopefully, the binary version is compiled for single precision (usually it has multiple versions). Going to the package properties, we see that the package contains the shared library version of the fftw libraries in single, double and long double precisions. Onward ho!
The package manager has lots of libboost packages, I just need to choose the correct one. I chose to install libboost-dev and libboost-python-dev.
Finally, I install the cppunit, libcppunit-1.10-0 and the libcppunit-dev libraries from the package manager. So it seems Ubuntu makes it fairly easy to install, they just need to get the newer version of SWIG. The future is promising for a gnuRadio package. Actually, after searching I found the libgnuradio package, but I am not sure which version it is so I'll stick to my guns and stay with CVS version. I am now ready to follow the cvs instructions given
here.
Well, the first road block is to install the dependencies that show up while trying to install. The errors I got are:
./bootstrap: line 25: aclocal: command not found
./bootstrap: line 26: autoconf: command not found
./bootstrap: line 27: autoheader: command not found
./bootstrap: line 28: libtoolize: command not found
./bootstrap: line 29: automake: command not found
So I'll start with automake. Yikes, a bunch more errors show up after this,
aclocal: macro `AM_PATH_PYTHON' required but not defined
configure.ac:24: error: possibly undefined macro: AM_CONFIG_HEADER
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:26: error: possibly undefined macro: AM_INIT_AUTOMAKE
configure.ac:31: error: possibly undefined macro: AM_CONDITIONAL
configure.ac:51: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
configure.ac:53: error: possibly undefined macro: AC_ENABLE_SHARED
configure.ac:54: error: possibly undefined macro: AC_DISABLE_STATIC
configure.ac:55: error: possibly undefined macro: AC_PROG_LIBTOOL
configure.ac:139: error: possibly undefined macro: AM_PATH_CPPUNIT
configure.ac:140: error: possibly undefined macro: AC_MSG_ERROR
autoheader: error: AC_CONFIG_HEADERS not found in configure.ac
./bootstrap: line 28: libtoolize: command not found
automake: configure.ac: installing `./install-sh'
automake: configure.ac: installing `./mkinstalldirs'
automake: configure.ac: installing `./missing'
configure.ac: 55: installing `./ltmain.sh'; cannot run `libtoolize': No such file or directory
configure.ac: 24: required file `./config.h.in' not found
src/lib/Makefile.am:55: variable `CPPUNIT_LIBS' not defined
automake: src/lib/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
src/lib/filter/Makefile.am:173: MD_CPU_generic does not appear in AM_CONDITIONALsrc/lib/filter/Makefile.am:178: MD_CPU_x86 does not appear in AM_CONDITIONAL
automake: src/lib/filter/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
automake: src/lib/general/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
automake: src/lib/io/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
automake: src/lib/missing/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
src/lib/omnithread/Makefile.am:36: OMNITHREAD_POSIX does not appear in AM_CONDITIONAL
src/lib/omnithread/Makefile.am:41: OMNITHREAD_NT does not appear in AM_CONDITIONAL
src/lib/omnithread/Makefile.am:46: variable `PTHREAD_LIBS' not defined
automake: src/lib/omnithread/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
src/lib/runtime/Makefile.am:28: variable `SHM_OPEN_LIBS' not defined
automake: src/lib/runtime/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
src/lib/swig/Makefile.am:64: bad macro name `_gnuradio_swig_python_la_SOURCES'
src/lib/swig/Makefile.am:68: bad macro name `_gnuradio_swig_python_la_LIBADD'
src/lib/swig/Makefile.am:73: bad macro name `_gnuradio_swig_python_la_LDFLAGS'
src/lib/swig/Makefile.am:68: variable `PYTHON_LDFLAGS' not defined
automake: src/lib/swig/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
automake: src/tests/Makefile.am: C++ source seen but `CXX' not defined in `configure.ac'
>>> build FAILED in /home/bloftin/gnuradio/dependencies/gr-build/gnuradio-core
I believe an error occurred when downloading from cvs so I am starting over from the cvs command. Still having problems. After googling the error, I found a similar thread on the
gnuradio list and the problem seems to be with the version of automake. Note, I had to completely uninstall automake 1.4 for it to get past these errors. However, I can tell there will be more... From the above thread I try
$ cd gnuradio-core/src/lib/swig
$ make clean
$ make install
no luck, so I install libusb-dev and sdcc packages. Also removed gcc 3.3 and installed gcc 3.4 and libtool 1.5.6-5 and then added g++-3.4, but also kept g++-3.3. Then I got the error
configure: error: cannot find usable Python headers
A clear sign of needing python development, so I added package python2.4-dev. Ugh! Yet another error, but one step further:
configure: error: Failed to locate boost/shared_ptr.hpp.
Try using --with-boost-include-dir=
Installed package libboost-dev. A little further, but now the error
../../../libtool: line 1089: g++: command not found
and sure enough I cannot run g++ from command line so I will reinstall it. I can see /usr/bin/g++-3.3 /usr/bin/g++-3.4, but instead of adding a link, I'll reinstall just in case. Still no gcc so I will make a link.
$ sudo ln -s /usr/bin/g++-3.4 /usr/bin/g++
... recompile, looking good
But the make checks failed for test_all, tried
$ cd gnuradio-core/src/lib/swig
$ make clean
$ make install
Now trying instructions given in list here.
Trying swig 24 instead of 25, we shall see! After installing swig 24 I needed to run
$ cd gnuradio-core/src/lib/swig
$ make clean
$ make install
I've made it to USRP directory. Onward!
Yeah it finally worked! Now trying to test USRP, I've continued on with instructions here.
cp firmware from usrp tarball
next add user to usrp group
I have to run usrp/host/apps/... as sudo
transmitting at 11.62 Mb/s
receiving at 32 Mb/s
So I still have a lingering USB permission issue, but it will have to wait until tomorrow since the above has taken 4 HOURS!