Mint 20 Cinnamon and new cqrlog

1 post / 0 new
oh1kh
Mint 20 Cinnamon and new cqrlog

Hi!

Yesterday evening I did install Mint 20 Cinnamon to virtual machine to test how cqrlog can be installed.

Downloaded .iso file and placed it to virtual cd player and started virtual machine. Once Mint 20 was started I selected a desktop icon for installing Mint 20 to HDD.
After install finished and reboot was done I opened command console and installed Mariadb and cqrlog with these 2 lines:

sudo apt install mariadb-common mariadb-server mariadb-client
sudo apt install cqrlog

It was just as easy as Alex, PA1SBM, says in message https://www.cqrlog.com/node/2507 !

When cqrlog was started and did work I decided to upgrade it to latest official source version from GitHub.
I followed my earlier message (the end of it) https://www.cqrlog.com/node/2984

First tools for compile had to be installed:

sudo apt install lazarus git

That will install Free pascal compiler and Lazarus GUI and also tools for GitHub access.
Issuing that line results a long list of dependencies to install, just say Y (yes) to install them all.

With Mint, as well as Ubuntu package maintainers are slow. Now it is a good thing as Free pascal 3.0.4 and Lazarus 2.0.8 will be installed.
Fedora maintainers are faster and they have FPC 3.2.0 with Lazarus 2.1.0. Unfortunately that combination has a bug (that is fixed, but not from install package) that treats empty regexps as error causing annoying warnings when running cqrlog.

But fortunately we now have older ones, so compiled cqrlog will run ok without warnings,
Once install is done we have to clone the source code from Petr's GitHub

git clone https://github.com/ok2cqr/cqrlog.git

After that is done there should be new directory called cqrlog, we change to that with command

cd cqrlog

After that start the compile process

make

When compile has finished we do install the new cqrlog with command

sudo make install

Then it is time to start it.
Everything looks same. It is because the source still holds same version number and date as when it was released at first time.
How we know we have latest version?
These simple tests should show it (if you do them with old version similar does not happen):

When cqrlog and NewQSO is open try to left click the label text "State" it should change the text to "DOK".
When you click again it changes back to "State". If you enter a German callsign "State" turns automated to "DOK".

Another test:
Select any remote from File menu.
Checkbox "Offline" should turn red background, but grayed text and you can not uncheck the checkbox. With old version you are able to uncheck checkbox.

So far success!

Now it seems that gtk2 widgets slowly is left off from new linux installs and replaced by gtk3 it will cause problems with cqrlog that is compiled using gtk2.
The gtk3 support of Lazarus is still in progress and cqrlog can not be compiled with it.

Solution for this is to compile cqrlog to use QT5 widgets. As everything was so easy this far lets try to make a QT5 version of cqrlog.

First we need to install some additional packages:

sudo apt install libqt5pas1 libqt5pas-dev

Again say Y (yes) to install these and dependencies.

Note that we are still in "cqrlog" directory.
Now we have to change the contents of "Makefile". There are 2 lines telling to use gtk2 widgets. To check them give:

grep ws Makefile

You should see:

$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi
$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi

Then we change these with command:

sed -i 's/ws=gtk2/ws=qt5/g' Makefile

And then check that they did change to qt5 with issuing again command:

grep ws Makefile

You should see now:

$(CC) --ws=qt5 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi
$(CC) --ws=qt5 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi

Now it is time to make a new compile and install:

make
sudo make install

Then it is time to start new QT5 based cqrlog. It should look a little different and the best way to check it is QT5 version is to test the only bug known so far:
Try to connect to RBN from Grayline map's top right corner icon. It will not connect. With gtk2 version this works ok.
At the moment you just have to live with that.

All these were done with Mint 20 fresh install (to virtual machine) but should work also with any other Linux.