Compiling and installing wsjt-x for Fedora-20 and Fedora-21

Hi, this tutorial is my first step to create an rpm package for wsjt-x for Fedora.

I started trying to understand the somehow cryptic instructions written here:

http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html

In fact it has a small problem: when you try to svn using berlios, it fails.

I guess somehow the script is old and the code no longer resides in berlios.

The other small issue is that the instructions in that document are for debian-like distros. I guess they actually like ubuntu and/or debian and Fedora looks unstable for them. It is their right to use any other Linux distro.. and ours to use Fedora.

For me, and for several others, Fedora has been running very very well for years (I’ve been using it since Fedora-9) so with little effort we can “port” the instructions to Fedora and enjoy wsjt-x in such a wonderful distro.

Im running Fedora-20 now, but I guess this instructions will work for Fedora-18, Fedora-19 and the future Fedoras.

and yes, I will try to create an rpm package for easier distribution.. later. as of now, you can follow the instructions in this page:

Instructions

This was the hardest part: To discover the needed packages for compiling wsjt-x. I had to go over the compile process once and again until I was able to discover the needed packages for fedora. You will install these ones:

yum install hamlib hamlib-devel cmake qt5-qtbase qt5-qtbase-devel subversion \
qt5-qtmultimedia qt5-qtmultimedia-devel gcc-gfortran gcc-c++ ftw fftw-devel glibc.i686 gcc-libgfortran.i686 libgfortran.i686

why glibc.i686 and gcc-libgfortran.i686? Well, almost everybody runs 64-bits Linux in these ages, but there is some proprietary program called kvasd that wsjtx needs. And kvasd is compiled for 32-bits arch as of now.

The other packages are needed for wsjtx to run, and the *-devel are needed for it to compile.

If you notice Im missing some other packages, it is because I compiled in a non-clean system, I mean, I ran it in a system I used to work from time to time so some packages could have been installed previously.. so let me know if you notice Im missing some packages to be installed.

Downloading the source code

this is easy, we use svn to download the code onto some dir:

cd
mkdir wsjt-env
cd wsjt-env
svn co svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx
export BUILD_DIR=~/wsjt-env/wsjtx
cd wsjtx
export rev_num=`egrep “Rev:” mainwindow.cpp |awk ‘{print $4}’`

We first went to our $HOME dir. Then created wsjt-env and cd to wsjt-env.

Then we downloaded, using svn, the latest source code.

We exported the variable BUILD_DIR to match the directory where the source code was downloaded.

Finally we moved to wsjtx and stored in rev_num the current revision number. (I had to change the way we obtain the revision number from the original script).

Compiling

Compiling is easy as well.. if all packages are already installed, then you should simply follow these steps:

cd lib
make -f Makefile.linux
cd ..
export QT_SELECT=qt5
qmake-qt5
j_c=$(grep -c ^processor /proc/cpuinfo)
make -j$j_c

If you had some errors, it means we are missing to install some packages.. let me know.

If everything went ok… let “install” wsjtx:

Installing wsjtx

cd ..
mv ./wsjtx-$rev_num ./wsjtx-$rev_num-$(date +%F-%H%M) &> /dev/null
mv ./wsjtx_install ./wsjtx-$rev_num
cd ./wsjtx-$rev_num
cp ../wsjtx/*.dat ../wsjtx/*.txt ./
# you can download cty.dat directly from country-files.com
# rm -f cty.dat
# wget http://www.country-files.com/cty/cty.dat
cp -R ../wsjtx/Palettes/ ../wsjtx/samples/ ./
rm ./CMake*
rm -rf ../wsjtx

And we are done.. we can start wsjtx by doing this:

./wsjtx

donw forget to remember where this binary is located so you can start it later:

pwd

 

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.