Compiling WSPR

From George Smart's Wiki

Jump to: navigation, search

This page details how I compiled K1JT's WSPR software on my amd64 Ubuntu 11.04 machine. It should work for 32-bit machines too. I decided to compile the code as opposed to using the provided Ubuntu DEB file, as the "--force-architecture" command didn't work. This page has been updated for WSPR v3.


If this page was useful, please consider Donating to me.

Contents

Installing the Required Software

Before we can start, we need to get the required software to download and compile the source code. K1JT's page (here) tells us exactly what we need. We also need a couple more programs. I installed:

  • subversion
  • python2.5-dev (I used python2.6-dev)
  • python-numpy
  • python-imaging-tk
  • python-pmw
  • libportaudio2
  • libportaudio-dev
  • libsamplerate0-dev
  • g95 (I used gfortran - some issues around this, and some people say you have to use g95. Mine works fine...)
  • portaudio19-dev
  • cl-fftw3


To install these from the console, use

sudo apt-get install subversion python2.6-dev python-numpy python-imaging-tk python-pmw \
libportaudio2 portaudio19-dev libsamplerate0-dev gfortran cl-fftw3 python-dev

Getting the Source Code

Once the above have installed, we can download the WSPR source code from SVN. I like to create a folder for it to all live in, while i work with it. Create a folder and 'cd' into it with the terminal. We can then use SVN to download the sourcecode. At the time of writing, this was revision 2225.

svn co http://svn.berlios.de/svnroot/repos/wsjt/branches/wspr

Once it has downloaded, cd into the wspr directory again.

Configure

The configuration is the hardest part. You need to satisfy the dependencies of the program. There is a trick... Start off by running the configuration utility, ./configure.

./configure

We then split here...

What Success Looks Like

If all is well, then you will get something like this in your terminal

configure: creating ./config.status
config.status: creating Makefile

Using gfortran as fortran compiler.

Compiling wspr 1.11

Installing into: /usr/local/

If you don't get this, then something has gone wrong. Check the output, looking for any tell-tail signs.

Finding Missing Stuff

When I first run the configure command, I was missing portaudio19-dev (which is why it's on the bottom of the list!). I got this error in the output of the configure command

checking for a v19 portaudio ... portaudio not found trying FreeBSD paths 
checking for a v19 portaudio in FreeBSD paths.... no

and then at the very end

This program needs portaudio v19 to compile.
Please use --with-portaudio-include-dir= and --with-portaudio-lib-dir= to set the paths.
configure: error: Please check error messages and install missing packages.

Fortunately, if you install everything that is missing, the configure script will find these missing libraries. Running

sudo apt-get install portaudio19-dev

Fixes this problem. It shouldn't arise for you, as it is mentioned in the list above. However, similar libraries may be missing. Keep repeating this, until you get the success messages above.

Compile

If you got all the dependencies met in the Configuring stage, the compilation should be plain sailing. To compile, run

george:~/wspr$ make

The compilation throws a good few, warnings, skipping, etc, but at the end it finished with an error status of 0.

Running

Typically, with compiled applications, you would run sudo make install and install the compiled program into the system. However, I don't recommend this with WSPR. I would take to changing into the directory you built it in, and running from there, with

george:~/wspr$ ./wspr

And, with any luck, you'll get the WSPR program up and running.

WSPR_r2225 Running
WSPRv3 Running

Click to enlarge

And there we have it.

Sources & References

(Retrieved 24/10/2010)
(Retrieved 24/10/2010)
(Retrieved 24/10/2010)