「コンパイル」タグアーカイブ

半月も LOTW に振り回され

6/23 LOTW にアップロードできなくなり、ひょっとして期限切れたかと思った。
リクエストすればいいだけのことだが、週末も絡んでたが 6/29 でまだ Please watch for an email from LoTW with the corresponding TQ6 file.と KA1RWY kathy から来るだけ。

p12 ファイルがあれば問題ない話なんだが、 Ununtu 22.04.0 も p12 保存がエラーでできなかった。
7/02 前夜正常に終了したのに起動できず。結果的には EFI がトンでしまっていた。
だったら、fedora 38 なら P12 保存ができるかもしれないと、「別 M2 (元々 Fedora 35)に Fedora 入れて、Ubuntu は p12 でコピーしよう」と考えた。

7/05 遅い時間になってやっと tq6 が届いた。そして p12も保存できた。

7/07 更に別の M2 に Ubuntu インストールするも、全く変化せず。一旦アンインストールしての再インストールも全く変わらず。

p12 ファイルで右クリック「trustedqsl で開く」の結果

最近力強い味方を得た。そう、チャット GPT だ。
Fedora で正常なら Fedora に踏みとどまるのも選択肢、そんなことは既に検討もしていたが。
しかし、パッケージでなくソース・コンパイルという手は残っていたが、普段限られたことしかやってなかったので、自信がなかった。

最初、バックアップからコピーしたソースでやってたので、OS 上のユーザー名が異なっていることに気づかず、CmakeCache.txt のいう意味がわからんかった。
新たにダウンロードした最新版ソースは次から次に不足ファイルが出てきた。AI だから一個ずつ出すのは仕方ないか。
でも五個ほどのファイルをインストールすればエラーなく sudo make install まで進んだ。
しかしインストール終わるも

$ trustedqsl
trustedqsl: コマンドが見つかりません
$ tqsl
tqsl: error while loading shared libraries: libtqsllib.so: cannot open shared object file: No such file or directory

すると sudo ldconfig 打てという。
ldconfig って「共有ライブラリを認識させるときに使う」ということらしい。
やっと起動でき p12 も正しくインポートできた。

ついでにイチからコンパイルするときの必要ファイルなどを挙げておく。

sudo apt install -y cmake liblmdb-dev libdb-dev libcurl4-openssl-dev libwxgtk3.0-gtk3-dev
cmake /path/to/trustedqsl-source-directory
make
sudo make install
sudo ldconfig
tqsl

入力ボックスを大きく (2) – CQRlog

Step 7

問題は三行目でしょう。IOTA や DOK/State を調整したい場合に。右端の Award は問題なし。
次の County がクセモノです。これは下にブルーラインが伸びている、つまり Comment to Callsign と連動しているのです。
そして左もスグ左の DOK/State でなくて IOTA にリンクされています。

左チェックを外すだけじゃなく cmbIOTA:TComboBox のプルダウンをてっぺんの (nil) にしておく。 (重要)

editCounty の場合

Left 259 → 299 に変更して Enter を押す。これで New QSO ウィンドウにも反映され、同時に Comment to Callsign も移動する。

editStateを選択

Step 8

DOK/State は排他的に配置されているが、これはフツーに扱うことができる。ただ State はクリックしただけではボックスが出てこないので、オブジェクト・インスペクターの Components 右の (Filter) に editState を入力しても効かないので、下の Comment to QSO をクリックして、オブジェクト・インスペクターでそのスグ下に editState があるので、その editState をクリックした方がいいでしょう。

Step 9

時計アイコンの sbtnTime も削除するワケには行かないが、他のボックスに隠れるならそれもアリでしょう。
全ての調整が終わったら、また外した左チェックをもとに戻す

Step 10

いよいよ試運転。今度はメインウィンドウ。
日本語メニューだと「実行」 → 「実行時引数」をクリック。デフォルトで「コマンドライン引数」に -DEBUG=0 と入っているので 0 → 1 に変更。OK を押す。

コマンド引数

Step 11

スキップエラー

「実行」→「掃除して構築」(英語だと Clean Up and Build) をクリック。そのまま「掃除して構築」をクリック。
「ファイル掃除に失敗」のエラーが出る。

Step 12

ここは無視して「スキップエラー」をクリック。

メッセージ・ウィンドウに<「プロジェクトをコンパイル対象:cqrlog 成功、警告:26」といったグリーン帯が出れば成功。警告数は git したバージョンによって異なるでしょう。

コンパイル成功

実行ボタン

Step 13

「実行」 → 「実行」若しくは Lazarus メニューアイコン三行目のグリーンの右矢印をクリック。
正常に起動できれば OK。

Step 14

この実行で /cqrlog/src に cqrlog という実行ファイルができているハズ。
プロパティを見て 58MB とか 74MB とかになっていればアンカーが中途半端になっていると疑うべきでしょう。

sudo cp /home/$USER/cqrlog/src/cqrlog /usr/bin

で /usr/bin にコピーしてやれば反映された New QSO ウィンドウが開くでしょう。

私が最初やったときは MySQL のエラーが出たり、また起動するのに 20-30 秒かかったり閉じれなかったりで散々でした。

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

したり、dbus-launch –exit-with-session cqrlog debug=1 で起動してやっと正常起動にありついたのでした。
PC のチップセットの所為なのかもしれません。

Saku には「CAT 抜きの CQRlog ユーザーがあるとは思いもよらなかった。」と嗤われしまったが・・・

結果を 11 文字コールの過去の QSO を Monaco 13 で表示してみた。

拡大の結果

入力ボックスを大きく – CQRlog

私はトリプルモニターの右モニターで CQRlog を使う。その右モニターへの距離は凡そ 80cm ほどになる。すると フォントサイズ 9 や 10 ではクロでなくグレイにしか見えずかなり苦しい。
それでフォントサイズは Monaco (スラッシュ・ゼロを含む)11 にする。
すると今度は New QSO ウィンドウで右端が見切れてしまう。QSL list ウィンドウは幅の調整が可能なので 12 のサイズにしようとも問題ない。

CQRlog デフォルトの日付スペース

標準では GTK2 であるが、QT5 で make すればボックスでの左の空きが小さくはなるが、Ubuntu Focal ではフォントもフォントサイズも変更が無視されてしまう。

それで OH1KH Saku から Lazarus による「入力ボックスの変更」を勧められた。需要があるとは思えないが、足跡として記述しておく。オープンソースならではのありがたみですね。

準備

まずは git と lazarus をインストール。

 sudo apt install -y git lazarus

次にソースをダウンロード。

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

これで Home に cqrlog というフォルダが作られている。

/usr/share に含まれるライブラリを利用するために share というリンクを作る。

cd cqrlog
ln -s /usr/share/ share

これでやっと次のボックスを編集する段階に入れる。

lazarus-ide

lazarus スタート

起動画面右下の Start IDE をクリックすると四つのウィンドウが表示される。

lazarus-4-windows

まずは「プロジェクト」→「プロジェクトを開く」でホームの cqrlog から src をダブルクリックすると cqrlog.lpi があるのでソレを開く。
cqrlog.lpi を開く
「ソース・エディタ」はここでは使わないので閉じておいてもよい。
サイズ調整は「New QSO」と「オブジェクト・インスペクター」で行う
「プロジェクト Project1 の変更を保存しますか?」は「いいえ」で答える。

NewQSO ウィンドウ

「New QSO」は普段見かけぬ表示になっているかもしれない。以前は作者は「コンテスト対応はしない」と言っていたのがコンテスト対応になっている。このコンテスト部分はメニューの Window → Contest をクリックすることで表示され、通常は表示されない。

Step 1

Contest をクリック

最初に右の Contest の文字をクリック。
枠線と天に青いラインが表示される。
オブジェクト・インスペクターでは gbContest TGroupBox がオレンジで表示されているハズ。

Amchors クリック

Step 2

オブジェクト・インスペクターで「プロパティ」の二行目に Anchors があるのでソレをクリック。

Step 3

[akTop,akRight,ak … と表示されるので … をクリック。

Step 4

左にアンカー

すると「gbContest のアンカー」というウィンドウが出てくる。
「左にアンカー」のチェックを外してウィンドウを閉じる。
これをしなければ、ボックス幅を反映しません。

Step 5 に移る前に

例えば一行目の右端は RST rcvd だが、これをクリックして右のセンターの点をドラッグすることもできる。しかし「戻る」という機能がないので、きっちり計算すべきであろう。
また先の gbContest TGroupBox のように「アンカー」が付いているので、どれでもテキトーにということにならない。因みに天のブルーのラインはてっぺんの位置を揃えている。
なので「拡げたい項目」を予め選んでおくとよい。

私の場合は「Call」「Frequency」「Grid」「QSL_S」「IOTA」「DOK」「Date」「Start」「End」。
一行でいくら増やせばいいかを把握しておくとよい。最初は 40px でやったが少し物足りなかったので 50px にした。
ポイントはオブジェクト・インスペクターの Left, Top, Width の三つの値。これらの値はピクセル px 単位である。

失敗したときのために デフォルト値 を挙げておく。ボックス height は Ubuntu focal のとき 38 だったが、今 Hirsute (21.04) では 35 となっている。35 だと Top が 22, 79, 136, 193, 250 となる。Left や Width は変わっていない。

注 意 各ボックスは削除もできるようになっているが、CQRlog が起動しなくなるので、削除はしないこと。

Step 5

基本的には右端から指定していくのがいい。多くがその左のボックスにアンカーされているから。
即ち RST rcvd のボックスをクリックし、オブジェクト・インスペクターで Anchors をクリック、そして … をクリックしてから「左アンカー」のチェックを外す。「上揃え」のアンカーだけになる。そうすれば Left 値の変更が反映できる。
Left の 455 → 495 に変更して Enter を押す。これで New QSO ウィンドウにも反映される。

Step 6

以下このように繰り返す。
左端の Call, Name, ITU, DXCC, Date は左チェックは構わず Width 値だけ大きくすればよい。
二行目までは問題なくできるでしょう。二行目まで終わったら先の外した左チェックをもとに戻す。

これをしなければ、ボックスが重なったり、ウィンドウ幅を拡げてもコンテスト部分のスペースがキープされたりであとで困ります。
またファイルサイズにも影響してきます。lazarus というのは FreePascal のコンパイルツールなのです。