Build JTDX 17.9 from source on RaspberryPi

Hardware requirements:

• Raspberry Pi 3 running Ubuntu 16.04 Mate
• Heatsink on the SoC (if you don’t have a heatsink, don’t build with all 4 cores)
• USB Sound Device (C-Media chipset based devices have problems, this Creative device works well https://us.creative.com/p/sound-blaster/sound-blaster-x-fi-go-pro)
• Good power supply that will deliver 2.1 amps @ 5 volts
• USB to DB9 serial adapter with a CAT cable or direct USB cable for your radio. FTDI and Prolific chipset based devices both seem to work well.

Install build environment tools:

sudo apt-get install build-essential subversion git automake libtool libusb-dev gfortran gfortran-5 g++ g++-5 libusb-1.0-0-dev texinfo cmake asciidoc asciidoctor libqt5serialport5 libqt5serialport5-dev libfftw3-dev libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediawidgets5 qtmultimedia5-dev libudev-dev pavucontrol wget

The following command will enable cmake to use all 4 cores.  Add the same command to your ~/.bashrc file to persist through reboots.

export MAKEFLAGS='-j 4'

Add temporary swap file to allow compilation to complete (add swap to fstab to enable across reboots, not recommended due to the limited RW cycles on flash media):

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile

Prereq – Build Hamlib:

mkdir ~/hamlib-prefix && cd ~/hamlib-prefix && git clone git://git.code.sf.net/u/bsomervi/hamlib src
cd src
git checkout integration
mkdir ../build
cd ../build
../src/autogen.sh --prefix=$HOME/hamlib-prefix \
--disable-shared --enable-static \
--without-cxx-binding --disable-winradio \
CFLAGS="-fdata-sections -ffunction-sections" \
LDFLAGS="-Wl,--gc-sections"
make
sudo make install-strip

Download JTDX source:

cd ~
wget http://www.qrz.lt/ly3bg/JTDX/17.9/src_JTDX_v17.9.zip

Create build folder structure and extract source:

mkdir ~/wsjtx-prefix && mkdir ~/wsjtx-prefix/build && mkdir ~/wsjtx-prefix/src
unzip src_JTDX_v17.9.zip
mv wsjtx/* ~/wsjtx-prefix/src/

Build and install JTDX:

cd ~/wsjtx-prefix/build
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix ../src
cmake --build .
sudo cmake --build . --target install