Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2022-08-20 | 9.4 kB | |
Totals: 1 Item | 9.4 kB | 0 |
Requirements for Debian-Based Linux, Qt 5.15.2 and Building a Working WSJT-X
Note that these instructions are for working with Debian/Ubuntu Variants based on 20.04.2 that do not deliver Qt 5.15.2 native.
Development Packages
Here are some of the necessary dependencies for building Hamlib and WSJT-X under a Ubuntu environment.
Ubuntu is based on Debian frameworks. This is based around Ubuntu 20.04 LTE
Debian-Based OS Qt 5.15.2 Delivery Technique
A compiled Qt 5.15.2 provides runtime issues for compiled WSJT-X.
This technique uses a Qt Installer-delivered environment PLUS steps from https://www.linuxfromscratch.org/blfs/view/svn/x/qt5.html to enable Qt 5.15.2 to be used to compile WSJT-X .
Configuring the Environment
Packages
- Deploy the following packages:
sudo apt install -y build-essential gfortran cmake git automake subversion
sudo apt install -y texinfo asciidoc asciidoctor packagekit
sudo apt install -y libusb-1.0-0-dev libfftw3-dev libtool libudev-dev
sudo apt install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt install -y libboost-all-dev mesa-common-dev libglu1-mesa-dev libxcb1-dev libxcb-xinerama0-dev
User Permissions: Additional Groups
- Execute the following command:
sudo usermod -a -G adm,tty,disk,dialout,audio,video,plugdev <your-username>
- Log out and then log back in.
Deploy Qt 5.15.2
There are two alternatives for this:
Download Alternative A: Browser Download
- Download the Qt installer in your web browser and save it to the ~ directory.
Download Alternative B: Command Line (Preferred)
-
Start a Terminal
-
Execute:
cd ~
wget https://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
** * Note:** Apologies to those in the OC region as you may be directed to a SLOW .cn mirror. ** This has been reported to Qt and more reports would assist. **
Deploy Qt
-
Start a Terminal
-
Execute the following commands:
cd ~
sudo apt install -y mesa-common-dev libglu1-mesa-dev libxcb1-dev libxcb-xinerama0-dev
sudo chmod 777 qt*
sudo ./qt* --mirror http://www.nic.funet.fi/pub/mirrors/download.qt-project.org
** * Note:** The funet.fi mirror is used here as it is FASTEST universally across the planet for all users.
Deploy Qt 5.15.2 with the following Options:
- Deploy to /opt/Qt
- Qt 5.15.2 - All
- OpenSSL 1.1.1x Toolkit - All
[ You could optionally deploy Qt 6.3.1 to match Windows JTSDK capabilities ]
Make Qt SDK Libraries available to the Compilers and System
- in a Terminal, execute the following commands:
sudo ln -sfnv /opt/Qt/5.15.2/gcc_64 /opt/qt-5.15.2
sudo ln -sfnv /opt/qt-5.15.2 /opt/qt5
** The following commands are based from https://www.linuxfromscratch.org/blfs/view/svn/x/qt5.html **
- Create the /etc/ld.so.conf file which updates the dynamic linker's run-time cache file.
sudo su
cat >> /etc/ld.so.conf << EOF
# Begin Qt addition
/opt/qt5/lib
# End Qt addition
EOF
ldconfig
- Environment variables have to be set. We are pre-appending to the path so that no other "residual" tools are picked up first.
sudo su
cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh
QT5DIR=/opt/qt5
PATH=$QT5DIR/lib/pkgconfig:$PATH
PATH=$QT5DIR/bin:$PATH
export PATH
export QT5DIR
# End /etc/profile.d/qt5.sh
EOF
** * It is advisiable to reboot your system now.**
Building Hamlib
These are the instructions for building and compiling Hamlib - suitable for a WSJT-X deploy. Note that these steps are based on using the MASTER Hamlib release repository.
- In a Terminal, execute the following commands:
mkdir ~/hamlib-prefix
cd ~/hamlib-prefix
git clone https://git.code.sf.net/p/hamlib/code src
cd 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
** Note: ** The reference at JTSDK@GROUPS.IO details steps listed here. There is also a set of steps listed that use Bill Somerville's repository instead of the MASTER repository.
Building WSJT-X
- In a Terminal, execute the following commands:
cd ~
mkdir -p ~/wsjtx-prefix/build
cd ~/wsjtx-prefix
git clone git://git.code.sf.net/p/wsjt/wsjtx src
cd ~/wsjtx-prefix/build
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix ../src
cmake --build .
sudo cmake --build . --target install
Execute WSJT-X
Determine if Dependencies are Missing - Test with QtCreator
WSJT-X has many advanced features - one that is annoying as it has the potential to limit the operation of a technique that can be used to debug issues with Qt libraries. The technique involves turning on Qt Plugin debugging with the QT_DEBUG_PLUGINS switch.
QtCreator is about as complex a software package as one can get. Therefore testing the environment by running this software makes it a good guide to determine if there are issues with the environment that may prevent WSJT-X from running.
- In a Terminal, execute the following commands:
export QT_DEBUG_PLUGINS=1
cd /opt/Qt/Tools/QtCreator/bin
./qtcreator
As an example the following is displayed:
...
Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/opt/Qt/Tools/QtCreator/bin/platforms" ...
Cannot load library /opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
Tracing this through it indicates that there were problems with finding the libxcb-xinerama plugins.
Redeploy these and its parent:
sudo apt install --reinstall libxcb1-dev libxcb-xinerama0-dev
This technique usually resolves issues.
Test execution of WSJTX
- In a Terminal, execute the following command:
wsjtx
** Note: ** The technique used here for finding Qt dependency issues does not identify problems with WSJT-X due possibly to its recent "advanced error detection" technique employed.
A drop-in command switch file for WSJT-X that could assist with debugging WSJT-X runtime issues is provided at https://sourceforge.net/projects/hamlib-sdk/files/Linux/Build-Qt-For-Linux/wsjtx_log_config.ini (Thanks Mike W9MDB).
Additional Notes
Follow BOTH install Guides packaged with WSJt-X source found at https://physics.princeton.edu/pulsar/K1JT/wsjtx.html
i.e. the highest level one in the root of the WSJTX. Download the package AND MORE IMPORTANTLY follow the INSTALL file inside wsjtx.tar .
References
- https://groups.io/g/JTSDK/topic/some_dependencies_requisites/75311015?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,75311015
- See both INSTALL files in WSJT-X source at https://physics.princeton.edu/pulsar/K1JT/wsjtx.html
- https://groups.io/g/JTSDK/topic/some_dependencies_requisites/75311015?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,75311015
- https://www.linuxfromscratch.org/blfs/view/svn/x/qt5.html
(Thanks Steve VK3VM)
Disclaimer
All rights and credits here go to the Amateur Radio focussed contributors.
This is not of merchantable quality; licenses of many tools preclude commercial use and insist on code released open-source. There is no warranty nor claims possible - nor will be accepted - against any contributor.
Use of this resource is at your own risk.