Install JS8Call 2.0.0-RC3 on Ubuntu 19.10

JS8Call 2.0.0-RC3 on Ubuntu 19.10 from source

You can download binary version for Ubuntu 18.04, but for 19.10 you need to compile it yourself. Before compiling, there are some prerequisites you need to install from official Ubuntu repositories.

Hamlib is also required, so we will compile it also from the source.

JS8Call 2.0.0-RC3 one of the best features is that it can decode Normal, Fast and Turbo simultaneously.

Install prerequisites from Ubuntu repo

sudo apt-get install -y build-essential gfortran autoconf automake libtool cmake git asciidoctor libfftw3-dev qtdeclarative5-dev texinfo libqt5multimedia5 libqt5multimedia5-plugins qtmultimedia5-dev libusb-1.0.0-dev libqt5serialport5-dev asciidoc libudev-dev

Hamlib from source

We will download hamlib from the git and compile it in personal src directory

mkdir ~/src/hamlib -p; cd ~/src/hamlib
git clone git://git.code.sf.net/u/bsomervi/hamlib src
cd src
git checkout integration
./bootstrap
mkdir ../build
cd ../build
../src/configure --prefix=$HOME/hamlib --disable-shared --enable-static    --without-cxx-binding --disable-winradio    CFLAGS="-g -O2 -fdata-sections -ffunction-sections"  LDFLAGS="-Wl,--gc-sections"
make -j4
make install-strip

After this step we have a static library ready for linking with js8call during compilation/linking in our ~/hamlib directory

JS8Call from source

Now we will download source fcode for the JS8Call-2.0.0.-RC3 and compile it with hamlib library as follows

mkdir ~/src/js8call-2.0.0-rc3 #creating directory in $HOME/src
cd ~/src/js8call-2.0.0-rc3
wget http://files.js8call.com/2.0.0/js8call-2.0.0-rc3.tgz #download js8call
tar xf *tgz #extract it - it extracts in current directory
cmake -D hamlib_LIBRARY_DIRS=~/hamlib -D CMAKE_INSTALL_PREFIX=~/src/js8call-2.0.0-rc3/output
js8call cmake static hamlib compiling
cmake --build . -- -j4
#now make a symlink in /usr/bin
sudo ln -s /home/goran/src/js8call-2.0.0-rc3/js8call /usr/bin/js8call 

And now you are ready to run it. From terminal with calling /usr/jsbin/js8call or simply js8call as that directory is in $PATH, or through gui if you have js8call.desktop entry.

From my other PC I copied the config, data folders and desktop entry/icon as follows (you don’t need to do that)

rsync -av 10.3.1.136:/home/goran/.local/share/JS8Call/ .local/share/JS8Call/
rsync -av 10.3.1.136:.config/JS* ~/.config/
sudo scp goran@ham2:/usr/share/applications/js8call.desktop /usr/share/applications/js8call.desktop
sudo scp goran@ham2:/usr/share/pixmaps/js8call_icon.png /usr/share/pixmaps/js8call_icon.png
sudo vi /usr/share/applications/js8call.desktop #edit if needed