JR6PUE HOME PAGE

CQRLOG2.5.2をインスト―ル (UbuntuMATE20.04LTS)


 CQRLOGのHPを久しぶりに見ると2.4.0から2.5.2へ今年に入って一気にバージョンアップがなされていました。
 2.4.0の公開から15か月ぶりとなります。


   CQRLOGを過去何回もバージョンアップしてきましたが、いつもすんなりいかないのですが
  やはり今回もPC版(X86_64)で、てこずりました。(涙)(2021.02.23)
 
  結果から言うと、Raspberry Pi4でCQRLOG2.4.0が動いていたらコンパイルインストールですんなり動きました。
  なお、以下の操作をRaspberry Pi4 UbuntuMATE20.0LTSで行っても、ちゃんとインストールできるのを確認して
   います。PC版(X86_64)と違う部分は併記します。

 私のPC版は、UbuntuMATE18.04LTSが動いていますが、これを機にOSも20.04.LTSに
バージョンアップする事にしました。
 とりあえず、失敗することを考えて現在動いているSSDを新しいSSDへ丸ごとコピー。
 玄人志向のKURO-DACHI/CLONE+ERASE/ESKPを使いました。120GBのSSDの丸ごとコピーは
ものの10分程度です。早い。

 まず、UbuntuMATEを20.04LTSをアップグレードしました。
   やり方は、ここをを参考にしました。情報を発信して下さるみなさまに感謝です。

    なお、OSの新規インストールからの場合は、お決りのSSHを使えるようにします。

1.準備事項(UbuntuMATE20.04LTS新規インストールの場合)

(1)SSHを使えるようにします。
    sudo apt update
    sudo apt upgrade
      sudo apt install openssh-server

   SSHサービスを有効にし(systemdから)、起動するたびにSSHサーバを起動させます。

   sudo systemctl enable ssh.service
   sudo systemctl start ssh.service
   sudo dpkg-reconfigure openssh-server

   サーバーに接続しようとしたときに、クライアントで接続が拒否されるというエラーが
        出たら、dpkg-reconfigureを実行すると修正されます。

2.CQRLOG  Hamlib  JTDX  TQSLをインストールするために必要なソフトをインストール
  すでに、JTDXやCQRLOGが動いている場合でもパッケージがバージョンアップしているかもしれないので
  あらためて必要なファイルをインストール

(1)コンパイルに必要な共通ソフトをインストール
sudo apt-get install build-essential cmake automake libtool gfortran pkg-config \
asciidoc asciidoctor qttools5-dev qttools5-dev-tools qt5-default qtmultimedia5-dev \
libqt5serialport5-dev libudev-dev fftw3 libfftw3-dev cmake git libhamlib-dev libhamlib-utils \
portaudio19-dev libqt5multimedia5-plugins coderay dialog libsamplerate0-dev python3-pip python3-tk \
python3-dev python3-numpy python3-setuptools python3-dev subversion texinfo libfreetype6-dev \
libgtk-3-dev libgtk2.0-dev libjpeg-dev liblcms2-dev libtiff5-dev libwebp-dev tcl8.6-dev tk8.6-dev \
libusb-dev libusb-1.0-0-dev .imagetk libgfortran4

3.CQRLOGをソースからインストール

(1)コンパイルに必要なソフトをインストール

sudo apt-get install lcl*2.0 lazarus*2.0 fp*3.0.4 fpc*3.0.4 libssl-dev git build-essential libmariadbclient-dev

(2)CQRLOGの設定ファイルをバックアップ(CQRLOGをバージョンアップする場合)
  すでにCQRLOGが動いている場合は、設定ファイルをバックアップしておきます。
  新規インストールの場合は、この(2)の作業は不要です。

  なお、私の場合ユーザー名がdhiroですが、ここは、ご自分のユーザー名に変更してください。

   /home/dhiro/.config/cqrlogが設定ファイルとデーターベース関係です。
      〜〜〜     
  これをcqrlog_backupという名前でバックアップします。

cp -a /home/dhiro/.config/cqrlog /home/dhiro/.config/cqrlog_backup

  バックアップを確認したら/home/dhiro/.config/cqrlogを削除してトラブ発見のために
  念のため新規の状態にしておきます。これをやらなくても、インストールはできます。
  のちほど、インストールが確認できたらバックアップを書き戻すとバージョンアップが完成します。

rm -rf /home/dhiro/.config/cqrlog

(3)CQLOGのコンパイル&インストール
 Raspberry pi4でCQRLOG2.0.4がUbuntuMATE20.04LTS上で動いている場合、
 この(3)だけの対応で動きました。念のため、(2)の操作でバックアップは、しておいてください。

cd Downloads

   すでに、このフォルダーで一度コンパイルされている場合は、cqrlogフォルダーを
   削除しておきます。

sudo rm -r cqrlog

git clone https://github.com/ok2cqr/cqrlog.git
cd cqrlog
make
sudo make install

    これでCQRLOGは、インストールされましたが、まだ起動しないでください。

(4)MariaDBの10.5をインストール

@事前作業
 今回のバージョンアップの肝と思わる部分です。
 ここを解決するまでに相当な時間を要しました。(^^;
 UbuntuMATE20.04LTSで標準でインストールされるMariaDBは、10.3です。
 UbuntuMateの標準でインストールされるMariaDB10.3では、サーバーに接続できないという
 エラーが出て苦しめられます。その解決方法は、MariaDB10.5を利用することのようです。

 (注)Rapberry Pi4のUbuntuMATE20.04LTSは、MariaDB10.3ですんなり動きます。

 CQRLOGのフォーラムを拝見すると多くの局がこのエラーに悩まされています。

  MySQL57Connection : Server connect failed.



 aptを使ってインストールするために、まずリポジトリへの追加が必要です。

 本来は、/etc/apt/sources.list.d/以下にファイルを作成します。
 /etc/apt/sources.list.d/mariadb.list

 MariaDB側でリポジトリへの追加用スクリプトを用意してくれていますので
 そのために必要なパッケージをインストールします。

cd ~

sudo apt install apt-transport-https

sudo apt install curl

 インストールしたら下記コマンドを実行

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

 以下のような表示が出れば成功しています。


 リポジトリーの反映を行います。

sudo apt update

A mariadb-serverのバージョンを確認しておきます。
この段階確認できるのは、mariadb-serverのバージョンは、10.3です。

dpkg -l | grep mysql
dpkg -l | grep  mariadb

Bmariadb-serverをインストール

sudo apt install mariadb-server

 インストールが完了したら、再度mariadb-serverのバージョンを確認します。

dpkg -l | grep  mariadb



mariadb-server10.5のインストールを確認できました。

Clibmysqlclient.soへシンボリックリンク

 そして、最後の肝の部分となるlibmysqlclient.so.21をlibmysqlclient.soへシンボリックリンクを行います。
 以前、Pi4のインストールで苦しめられた箇所です。中間あたりに記載しています。
 OSによってlibmysqlclient.so.21の置かれている場所は変わります。
 CQRLOG2.4.0の時までは、libmysqlclient.so.20でした

sudo ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 /lib/libmysqlclient.so

 Raspberry Pi4でCQRLOG新規インストールの場合は、下記コマンドでシンボリックリンクを張ります。
 
#64bitの場合(Raspberry Pi4 UbuntuMATE 20.04LTSの場合は下記です)
sudo ln -s /usr/lib/aarch64-linux-gnu/libmariadbclient.so /usr/lib/libmysqlclient.so

 Pi4でCQRLOGがすでにインストールされている場合は、この操作は必要ありません。
 すでに、作成されているはずです。念のため確認ください。

 シンボリックリンクの作成を間違えた場合は、下記コマンドを実施し再度シンボリックリンクを作成します。

sudo unlink /lib/libmysqlclient.so  #PC(X86_X64)の場合

sudo unlink /usr/lib/libmysqlclient.so #Pi4の場合

DCQRLOGを起動

 デバッグモードでCQRLOGを起動して確認を行います。
 コンソールから下記コマンドで起動すると起動時のメッセージが見れますので
 トラブルなどが発生した場合の解決のヒントになります。

cqrlog debug = 1

初めての起動かと尋ねられますので「はい」を選択

また、Database Conectionも出ますので、Open recent program startにチェックし
Openlogでデーターベースを開きます。いろいろなデーターベースを読み込むためにYesを
選択して起動を完了します。新規の起動なのでQSOリストは、ゼロです。



 起動が確認できたら、バックアップを書き戻します。
 まず、確認できたデーターベースディレクトリーを削除します。

rm -rf /home/dhiro/.config/cqrlog

cp -a /home/dhiro/.config/cqrlog_backup /home/dhiro/.config/cqrlog

 あとは、通常どおりメニューアイコンからCQRLOGを起動します。


 今回もPC版のインストールは、だいぶ苦労しましたが、これまでバージョンアップのたびに悩まされ続けている
サーバーへ接続できない件の対応方法が、だいぶわかってきました。(2021.02.23)