JR6PUE HOME PAGE

Raspberry pi4にCQRLOG2.4.0とJTDX2.1.0−rc146をインストール


CQRLOG2.4.0が公開されました。
しかし、残念ながら今回はRaspiで動作するarmhf用のバイナリパッケージは公開されていません。
あわせて、年末に世界発売に遅れること約半年。日本国内でraspberry pi4が発売されました。
せっかくなので、raspberry pi4にJTDXの最新版2.1.0-rc146(2020.01.19現在)とCQRTLOG2.4.0を
コンパイルしてインストールしてみることにしました。(2020.01.19)


(Raspberry pi4は、CPUがだいぶ発熱するということなのでこんなケースに入れました。)

インストールですが、簡単に考えていましたが、相当苦労しました。

現時点において、Raspberry pi4のOSでまともに動くのは、Raspbian busterだけです。
これまで、JTDXとCQRLOGを動かしていたubuntu MATEもpi4をサポートしていません。
幸いに、ubuntu serverがraspbery pi4をサポートしたようですが、デスクトップはサポートしていません。
先人のみなさんが、デスクトップをインストールしてubuntu MATE19.10をraspberry pi4で動かしていますので、
同じようにして私もubuntu MATE19.10を動かしてみました。

ただ、CQRLOGは、コンパイルはできるのですが、何をやってもSQLサーバにアクセスできません。
MATEでもRapbianのどちらも同じような状況です。
CQRLOGのフォーラムを見ても、動かないという人はいれど、こうやったら動くよというのはどこにも
みあたりません。
ただ、ここには少し参考になることが書かれています。

実質、チャレンジから今日までの挑戦時間は、まる48時間以上にはなっています。
今日、試行錯誤の末にPi4+rasasbian buser上でCQRLOG2.4.0とJTDX2.1.0-rc146を動作させることができましたので
ここに備忘録としてまとめておきます。

まず、これまでのチャレンジで分かったことは、SQLサーバにどうしてもアクセスできなかったので
busterで標準でインストールされるCQRLOG2.3.0をインストールして依存関係を解消しておきます。

1.CQRLOG2.3.0をインストール

sudo apt install cqrlog

CQRLOG2.3.0をインストールすると以下の追加パッケージがインストールされます
 default-mysql-client-core default-mysql-server default-mysql-server-core
 galera-3 gawk libaio1 libcgi-fast-perl libcgi-pm-perl
 libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl libencode-locale-perl
 libfcgi-perl libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27
 libgnutls28-dev libgnutlsxx28 libhamlib-utils libhamlib2 libhtml-parser-perl
 libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
 libhttp-message-perl libidn2-dev libio-html-perl liblwp-mediatypes-perl
 libmariadb-dev libmariadb-dev-compat libmariadb3 libnetpbm10 libp11-kit-dev
 libreadline5 libsigsegv2 libtasn1-6-dev libtasn1-doc libterm-readkey-perl
 libtimedate-perl libunbound8 liburi-perl mariadb-client-10.3
 mariadb-client-core-10.3 mariadb-common mariadb-server-10.3
 mariadb-server-core-10.3 mysql-common nettle-dev socat xplanet
 xplanet-images
提案パッケージ:
 gawk-doc libclone-perl libmldbm-perl libnet-daemon-perl
 libsql-statement-perl gmp-doc libgmp10-doc libmpfr-dev dns-root-data
 gnutls-bin gnutls-doc libdata-dump-perl libipc-sharedcache-perl libwww-perl
 mailx mariadb-test tinyca
以下のパッケージが新たにインストールされます:
 cqrlog default-mysql-client-core default-mysql-server
 default-mysql-server-core galera-3 gawk libaio1 libcgi-fast-perl
 libcgi-pm-perl libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl
 libencode-locale-perl libfcgi-perl libgmp-dev libgmpxx4ldbl libgnutls-dane0
 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libhamlib-utils libhamlib2
 libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
 libhttp-date-perl libhttp-message-perl libidn2-dev libio-html-perl
 liblwp-mediatypes-perl libmariadb-dev libmariadb-dev-compat libmariadb3
 libnetpbm10 libp11-kit-dev libreadline5 libsigsegv2 libtasn1-6-dev
 libtasn1-doc libterm-readkey-perl libtimedate-perl libunbound8 liburi-perl
 mariadb-client-10.3 mariadb-client-core-10.3 mariadb-common
 mariadb-server-10.3 mariadb-server-core-10.3 mysql-common nettle-dev socat
 xplanet xplanet-images
アップグレード: 0 個、新規インストール: 53 個、削除: 0 個、保留: 0 個。
35.4 MB のアーカイブを取得する必要があります。
この操作後に追加で 202 MB のディスク容量が消費されます

ようは、これが依存する関係ファイルです。
当初は、必要な依存ファイルを知るのとCQR2.3.0が完全に動作するのかを確認するのが目的でした。
幸いにも、2.3.0をアンインストールして、あらたに、依存関係ファイルをインストールする必要は
ありませんでした。\(^o^)/

しばらく待てば、きれいにCQRLOG2.3.0がインストールされます。
左上のRaspberry Piのアイコンのところにプログラムが登録されますので
CQRLOGをクリックして動作を確認してください。
動作が確認できたら、CQRLOG2.4.0のコンパイル環境を整えていきます。

2.コンパイル環境の構築

sudo apt-get install automake asciidoc asciidoctor coderay clang-6.0 \
cmake dialog g++ gettext gfortran git libudev-dev libusb-dev libusb-1.0-0-dev \
libfftw3-dev libhamlib-dev libhamlib-utils libqt5multimedia5-plugins \
libqt5serialport5-dev libqt5opengl5-dev libsamplerate0-dev libtool libusb-dev \
libxml2-utils pkg-config portaudio19-dev python3-pil python3-pil.imagetk \
python3-tk python3-dev python3-numpy python3-pip python3-setuptools \
python3-dev qtbase5-dev qtmultimedia5-dev subversion texinfo xmlto \
libfreetype6-dev libjpeg-dev liblcms2-dev libtiff5-dev libwebp-dev \
mime-support tcl8.6-dev tk8.6-dev zlib1g-dev

しばらく待ちましょう。

3.CQRLOG 2.4.0のインストール

sudo apt install lazarus lcl fp-utils fp-units-misc fp-units-gfx fp-units-gtk2 fp-units-db fp-units-math fp-units-net
git clone https://github.com/ok2cqr/cqrlog.git
cd cqrlog
make

makeの終了時に下記のようなメッセージが出ますが動作には関係ないようです。

(9022) Compiling resource /home/pi/cqrlog/src/cqrlog.or
(9015) Linking /home/pi/cqrlog/src/cqrlog
cqrlog.lpr(84) Warning: (9034) "crtbegin.o" not found, this will probably cause a linking failure
cqrlog.lpr(84) Warning: (9034) "crtend.o" not found, this will probably cause a linking failure
/usr/bin/ld.bfd: 警告: /home/pi/cqrlog/src/link.res には出力セクションが含まれます。-T オプションを忘れていませんか?
(1008) 95063 lines compiled, 37.8 sec
(1021) 23 warning(s) issued
strip src/cqrlog
gzip tools/cqrlog.1 -c > tools/cqrlog.1.gz

そして、インストール

sudo make install

あらためて、左上のRaspberry Piのアイコンのところにプログラムが登録されますので
確認します。CQRLOG2.4.0は、インターネットのアプリケーションの項目に登録されています。
なお、CQRLOG2.3.0が動作するアイコンは削除されています。

最初に起動するとLOG1のデータベースでCQRLOGは起動しますが、これまでのLOGデータをADIFでインポートすると
なぜか、すべてエラーとなって1局もインポートできません。

そこで、初期設定画面でLOG2を作成してLOG2データベースでCQRLOGを起動します。




そこに、これまでのデータをインポートするとうまく反映されます。
あとは、これまでと同じ設定になるようにFile->Preferences項目を設定しておきます。

MYSQLサーバをローカルで動作させるので停止します
sudo systemctl disable mysql
sudo systemctl stop mysql



4.Hamlibをインストール

cd ~
 mkdir ~/hamlib-prefix
 cd ~/hamlib-prefix
 git clone git://git.code.sf.net/u/bsomervi/hamlib src
 cd src
 git checkout integration
 mkdir ../build

./bootstrap
./configure
 make
 sudo make install-strip

5.JTDX2.1.0-rc146をインストール

cd ~
mkdir ~/Downloads/JTDX21146
cd ~/Downloads/JTDX21146

wget https://www.release.jtdx.tech/Windows/Source%20code/src2.1.0-rc146.zip

unzip src2.1.0-rc146.zip

cd ~

mkdir JTDX21146
  cd JTDX21146
  mkdir build
  mkdir install
  mkdir src

cp -r -a /home/pi/Downloads/JTDX21146/wsjtx /home/pi/JTDX21146/src/wsjtx
cd ./build
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix -D CMAKE_INSTALL_PREFIX=~/JTDX21146/install ../src/wsjtx
cmake --build . --target install

/home/pi/JTDX21146/install/binの中にjtdxのバイナリーファイルができていますが、ここのアイコンをダブルクリックしても
起動しません。また、/home/pi/JTDX21146/install/binのディレクトリでターミナルからコマンドでjtdxを打っても
libhamlib.so.4ファイルが無いので起動できないと怒られます。
調べてみるとチャンとインストールされています。ようは、パスが通っていないのが原因のようです。
ホームディレクトリーからフルパスでコマンドを打つと起動します

cd ~
/home/pi/JTDX21146/install/bin/jtdx

毎回毎回、コマンドを打つのが面倒なのでショートカットをデスクトップに作ることにします。

cd /home/pi/デスクトップ

nano JTDX.desktop

[Desktop Entry]
GenericName=JTDX appli
Name=JTDX
Comment=JTDX Software
Exec=/home/pi/JTDX21146/install/bin/jtdx
Terminal=false
Type=Application
Categories=Network;WebBrowser;
Icon=/usr/local/bin/JTDX.ico

ctrl+o    Enterで保存
Enter
ctrl+x Enterで終了
この3つのコマンドを覚えるとnanoは使えます。



6.気づいたこと

(1)JTDX
@サウンドブラスターを認識しなかった
raspbian busterでは、これまでUbuntu MATE16.04で使えていたサウンドブラスターが認識されませんでした。
幸いに、違うサウンドブラスターがあったのでそれと交換したら認識してくれました。
これから
https://jp.creative.com/p/sound-blaster/sound-blaster-x-fi-surround-5-1-pro-r2
こっちへ
https://jp.creative.com/p/sound-blaster/sound-blaster-digital-music-premium-hd-r2

ちょっと困りものです。

ACQRLOGのADIFファイルをJTDXのLOGファイルディレクトリーにコピーすると、受信した局の
交信履歴がわかるのでCQRLOGのCQモニターなどを見なくてもB4局かどうかがわかります。

/home/pi/.local/share/JTDXディレクトリーのwsjtx_log.adiを同名で置き換える。

(2)CQRLOG
@WsjtxCQ-moniterの表示が1局目が1/3くらい隠れるのでわかりづらくなっています。
ただ、上記Aの項目をやることで必要はなくなります。
(2020.01.19)