¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Building js8call and wsjtx under Raspberry Pi OS - Bullseye


 
Edited

Hi,

Maybe you know that recently Raspberry Pi OS got a next stable upgrade, which is based on Debian 11 (codename Bullseye). That is nice, because a lot of new stuff is packaged in the distro and bugs are fixed. Our hamradio use of Raspberry Pi computer relied on some really nice programs and Build-a-Pie script to install them. Alas the new version of the Raspberry Pi OS makes things a little bit difficult for a while. For example we can't install recent version of wsjtx on Bullseye, because the binary package from the author is compiled for older Raspberry Pi OS version and the libraries needed for running wsjtx are old and not available in Bullseye.
But there is some good news - we can install both js8call and wsjtx from source. The build process is similar for both of them and we need about 45-60 minutes for the task. Most of the time is spent on actual compiling and we doesn't have to stay in front of the computer.

So let's begin

JS8CALL

First we need to allow installing source packages in Raspberry Pi OS

sudo nano /etc/apt/sources.list

Look for these lines:

# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src bullseye main contrib non-free rpi

Remove the #? sign in front of deb-src so the line becomes like this:

deb-src bullseye main contrib non-free rpi

Save and exit.


Next we need to make sure the system is up to date:

sudo apt update

sudo apt upgrade -y


Let's install the needed libraries for js8call building:

sudo apt-get build-dep js8call -y

Last command installs everything including hamlib. If we are happy with older version of hamlib, provided by Raspberry Pi OS we doesn't need to remove it. But if we use hamlib via BAP we need to remove hamlib:

OPTIONAL STEP, see above

sudo apt remove libhamlib4 libhamlib-dev


Next steps are well documented in js8call source code:

mkdir ~/hamlib-prefix

cd ~/hamlib-prefix

git clone src


### Get the JS8Call Source

mkdir ~/js8call-prefix

cd ~/js8call-prefix

git clone src


Compile hamlib:

cd ~/hamlib-prefix/src

./bootstrap

mkdir ../build

cd ../build

../src/configure --prefix=$HOME/hamlib-prefix \

??? --disable-shared --enable-static \

??? --without-cxx-binding --disable-winradio \

??? CFLAGS="-g -O2 -fdata-sections -ffunction-sections" \

??? LDFLAGS="-Wl,--gc-sections"

make

make install-strip


I prefer to run make command with -j 4 option to utilize all 4 cores of the RPi 4

if you like execute

make -j 4

instead of

make


### Compile JS8Call


cd ~/js8call-prefix/src

mkdir ../build

cd ../build

cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix -D CMAKE_INSTALL_PREFIX=~/usr/local ../src

make

make package


again if we need speed execute make -j 4 instead of make

Upon finishing there is a message like this:

CPack: - package: /home/pi/js8call-prefix/build/js8call_2.2.1-devel_armhf.deb generated.

The package is ready for install via apt command:

cd ~/js8call-prefix/build/

sudo apt install -y ./js8call_2.2.1-devel_armhf.deb


Congratulations we have built and installed JS8Call. We can save the .deb package for later use in Bullseyeor to share it with a friend.


###WSJTX


The process is similar. Most of the tasks are done in js8call steps.

Install the needed libraries:

sudo apt install qtmultimedia5-dev libqt5serialport5-dev qttools5-dev qttools5-dev-tools libboost-all-dev libfftw3-dev libreadline-dev libusb-1.0-0-dev libudev-dev portaudio19-dev


Then we prepare a directory for compiling, download the source and unzip it and start the compiling. At the end we have a .deb package again, ready for install:


mkdir ~/wsjtx-build

cd ~/wsjtx-build

wget

tar xzf wsjtx-2.5.2.tgz

mkdir build

cd build

cmake -DWSJT_SKIP_MANPAGES=ON -DWSJT_GENERATE_DOCS=OFF ../wsjtx-2.5.2

cmake --build .

cmake --build . --target package


The last command produces our .deb file and shows it's location in the terminal window:

CPack: - package: /home/pi/wsjtx-build/build/wsjtx-prefix/src/wsjtx-build/wsjtx_2.5.2_armhf.deb generated.

It can be installed by apt command:
sudo apt install ./home/pi/wsjtx-build/build/wsjtx-prefix/src/wsjtx-build/wsjtx_2.5.2_armhf.deb

We could also save the .deb file for future use.


OK that's was all, I hope you can get js8call and wsjtx running on your Raspberry Pi computers powered by Bullseye.

If you have questions please don't hesitate to ask me.

--
73 Daff, LZ1DAF

Join [email protected] to automatically receive all group messages.