Compiling FreeDV

This page is currently not working as of 09 April 2013, following a recent upgrade...

/usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/libasound.so: could not read symbols: Invalid operation

This page details how I compiled FreeDV on Ubuntu. What's it all about? This extract is from the project's website:

FreeDV is a GUI application for Windows and Linux (MacOS and BSD are in testing) that allows any SSB radio to be used for low bit rate digital voice. Speech is compressed down to 1400 bit/s then modulated onto a 1100 Hz wide QPSK signal which is sent to the Mic input of a SSB radio. On receive, the signal is received by the SSB radio, then demodulated and decoded by FreeDV. FreeDV was built by an international team of Radio Amateurs working together on coding, design, user interface and testing. FreeDV is open source software, released under the GNU Public License version 2.1. The FDMDV modem and Codec 2 Speech codec used in FreeDV are also open source.

Lots of people have been talking about FreeDV and Digital Voice on HF for some time now, and so I decided to see what it was all about.

There are windows binaries available on the project website as well as RedHat RPMs; but, no Debian packages. This page details how I went about compiling FreeDV for Ubuntu Linux 12.04 64-bit.

= Get Required Packages = Most of the required packages are pulled in from the internet when you run the makescript but there are a few you need to install yourself. These are the main libraries, which FreeDV depends on, according to their documentation:

sudo apt-get update sudo apt-get install libgtk2.0-dev libsamplerate0-dev libsndfile1-dev libasound2-dev subversion

I also found I needed the following installing too, in order to get the program to compile correctly (or at all!):

sudo apt-get install libportaudio-dev portaudio19-dev

You will enter your password, check that it's not going to do anything stupid, and then continue with the package installation. It should look something like this once it's done - your folder depends where you are located:



= Getting the Source Code = One of the nice things about the FreeDV project is that it's all open source software unlike D-STAR and other commercial products. I suggest to start in your home folder. The source code for FreeDV is kept on SourceForge, and it can be checked out (downloaded) using the following command:

cd ~/ svn checkout https://freetel.svn.sourceforge.net/svnroot/freetel/fdmdv2

This creates the folder fdmdv2 in the directory you run it from, in this case my home directory (/home/george). Move into this folder with the following command:

cd fdmdv2

You should have a terminal looking something like the following:



= Compile the Program = Now we need to change into the source directory, ./fdmdv2/src:

cd src/

Finally, we issue the make command with instruction to make for Linux:

make -f Makefile.linux

The compiling command takes some time. Around 20 minutes on this quad-core Apple MacBook Pro. Around 2 hours on my Samsung dual core Intel Atom netbook. After some time you should notice it finish with no errors:



= Running the Program = Once it's finished building, you can run FreeDV from the source folder you compiled it in:

./freedv

You should see a new window pop up. Hopefully, it's FreeDV! A the current time of writing, this was FreeDV 0.94 Beta.





After that, you're ready to roll!