Compiling WSPR on a Raspberry Pi

Update 10/1/13: A number of the instructions listed here are now out of date and there are now much better guides and articles available than were available at the time I originally wrote this article. Two of the more useful guides are available here and here I will be leaving this here for reference (as some of it still holds true) but not updating it any further for the foreseeable future as I don’t have the time available

Ok today’s challenge: compile Wspr on ARM for Raspberry Pi

and in less that 3 hours I had it done

these guides were invaluable: http://blog.dale.id.au/archives/1231 & http://homepage.ntlworld.com/re.thornton/G3WKW/files/WSPR_RasPi_Setup2.html

below is a summary of what had to be done:

Step 1: Install the dependencys

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install build-essential subversion python2.7-dev python-numpy python-imaging-tk python-pmw libportaudio2 portaudio19-dev libsamplerate0-dev gfortran cl-fftw3 python-dev hamlib-utils

Step 2: change to your home directory or where ever you want to work (home directory is bet in my opinion)

pi@raspberrypi ~ $ cd ~

Step 3: Get the WSPR source

pi@raspberrypi ~ $ svn co http://svn.berlios.de/svnroot/repos/wsjt/branches/wspr

Step 4: Change in the WSPR source folder

pi@raspberrypi ~ $ cd wspr

Step 5: configure and wait

Should read (Thanks Arnold)

pi@raspberrypi ~ /wspr $ ./configure --with-portaudio-include-dir=/usr/include --with-portaudio-lib-dir=/usr/lib/arm-linux-gnueabihf

Step 6: make the install

pi@raspberrypi ~ /wspr $ sudo make install

Step 7: run and enjoy WSPR

pi@raspberrypi ~ /wspr $ wspr

in future to run wspr you need to change to the wspr folder and run wspr as in step 7

4 thoughts on “Compiling WSPR on a Raspberry Pi”

  1. step 5
    ./configure −-with-portaudio-include-dir=usr/include −-with-portaudio-lib-dir=usr/lib/arm-linux-gnueabihf

    This is not working do to &minus

    sudo ./configure –with-portaudio-include-dir=usr/include –with-portaudio-lib-dir=usr/lib/arm-linux-gnueabihf

    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

    in step 1 the file portaudio19-dev is installed
    but the response of the Raspberry pi during compiling
    This program needs portaudio v19 to compile
    what is going wrong during compiling

    pl;ease response
    73 Arnold

    1. Hi Arnold I am looking into this, I wrote this article a while ago so some things may have changed. I’m am redoing it with a new image so bare with me and I’ll post the results. One thing I can say is that the performance on the 128mb pi is very poor I can’t speak to the performance on a 512mb one though as I only have a 128mb one but the instructions should work the same

      I have looked in to it and found a typo in step 5 and have since fixed (wspr now compiles) however due to updates in the current version of wspr the instruction I wore here are now out of date (compiles but crashes on start). I have tried to update my instructions but more things have changed than I first thought, a more up to date set of instructions are available at http://g4vxe.blogspot.co.uk/2013/01/raspberry-pi-progress-rtladsb-wspr-wsjt.html and http://g4fre.blogspot.co.uk/2012/11/wsjt-on-raspberry-pi.html I hope these links help

  2. I’ve tried different raspbian-wheezy img 2012-12-16 and 2012-10-28 files and various WSPR rev-r2840, 2925.2931 and 2935
    the WSPR -r2925 and higher responding
    Make: *** No rule to make target `mept162.f’needed by `WsprMod/w.so’. Stop.

    with -r2840 compiling was O.K. but when running the program it responding with
    Traceback (most recent call last):
    File “wspr.py”, line53, in
    Root = Tk()
    File “/usr/lib/python2.7/lib-tk/Tkinter.py”, line 1688, in __init__
    Self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
    _tkinter.TclError: no display name and no $DIPLAY environment variable

    73 Arnold

  3. What about WSJT on today’s ARM linux eg. Bananian 3.1
    Yes, it compiles, runs, but as soon as you press “Monitor” (start receiving)
    it crashes with Segmentation Fault.
    To Arnold, you need to run from a GUI terminal eg. LXTerminal.
    It also should run from an RDP session. Install “xrdp”.

    Note: The Banana Pi has a SATA port. What a BRILLIANT idea, SATA disk.
    That’s why the Banana Pi is a killer board.

Comments are closed.