Sunday, February 28, 2021

JS8Call Compilation Notes on Debian for ARM and Ubuntu

Okay. 

sudo apt install build-essential git automake make cmake clang gfortran libfftw3-dev git libgfortran-10-dev libusb-1.0-0-dev autoconf libtool texinfo qt5-default qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libudev-dev pkg-config libusb-1.0-0-dev libboost-dev libboost-log-dev qttools5-dev-tools asciidoctor asciidoc libboost-regex-dev -y 

Ubuntu: apt install qttools5 asciidoctor asciidoc -y 

Debian: apt install qttools5-dev qttools5-dev-tools  libgfortran-8-dev


mkdir -p ~/hamlib-prefix 
cd ~/hamlib-prefix 
git clone https://github.com/Hamlib/Hamlib.git src 
 
### Get the JS8Call Source 

mkdir -p ~/js8call-prefix 
cd ~/js8call-prefix 
git clone https://bitbucket.org/widefido/js8call.git 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 -j 4 && make -j 4 install-strip

### Compile JS8Call 

cd ~/js8call-prefix/src 

# If you are using the hamlib 3.x from Debian/Ubuntu
echo "add_compile_definitions(JS8_USE_HAMLIB_THREE)" >> CMakeLists.txt 

mkdir ../build 
cd ../build 
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix -D CMAKE_INSTALL_PREFIX=~/js8call-prefix ../src 

make -j 4 && make -j 4 package

### Compile WSJT-X 
mkdir -p ~/wsjtx-prefix/build 
cd ~/wsjtx-prefix 
git clone https://git.code.sf.net/p/wsjt/wsjtx src

cd ~/wsjtx-prefix/build 
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix \
 -D CMAKE_INSTALL_PREFIX=~/wsjtx-prefix ../src

make -j 4 && make package 

or 
cmake --build . 
cmake --build . --target install