解決>Monterey: DBD::MySQLで難航

DBD::mysqlがMontereyにupgradeしたMac mini(メインWS)にインストールできない件ですが,本日夕刻に,

port selfupdate
port upgrade outdated

をしてから,

port install mysql57

をしたら成功しました.引き続き,

port install p5.30-dbd-mysql

も成功しました.何が効いたか不明ですが,動けば良いのです.

Dupを蹴って誰得?

なんか,参加した記憶がないのに,WPX CWのサマリーが届きました😓 200ちょっとのQSO数で,コールサイン間違いはなし,ナンバーのコピー間違いは2で,エラーは1%未満という出来でした.Runはほとんどしてないと思います.まあ,このくらいの交信数だと集中力もそこそこ保てるのだなと思いました.

さてそれで,先日のUkrainian DXコンテストで, “Dupだからさようなら” という仕打ちを久しぶりに受けたのを思い出しました.

未だにこういう不合理な交信手順をとる人がいるのだなと悲しい気持ちになりました.

今どきコンテスト参加局は,パート参加の局を含めてみんなログソフトを使っていると断言していいと思います.特にDXコンテストでは,変なコールサインがいっぱい出てくるので,コールサインのチェック(交信して良いのかどうか,マルチになるのか等)をログソフトを使わないで脳内だけでするというのではお話になりません.

ログソフトを使っていながら,dupで呼んで来ると言うことは,その局のログに呼ばれた局は記録されていない,ということになります

そこでdupでナンバー交換を断った場合,呼ばれた局(dupを断った局,以下A局とします)は,もし呼んだ局(断られた,B局)がログを提出したら,A局がB局と「交信」したとする記録は B局のログにはありませんから “not in log”で無得点となります.B局もナンバー交換できませんでしたから,A局との交信は無得点です.

もし,A局がdupと思いつつも「2度目の交信」をして記録していたら,1度目の交信は無効で,2度目の交信は有効にたぶんなるでしょう.B局の側でも実はdupだった場合でもそれぞれ1度目の交信が得点になり2度目は無効になります.

ということで,dupを断って双方良いことはひとつもありませんし,dupと思いつつ交信して損はありません.

ちなみに,呼ぶ側の立場としてdupで呼んでしまうのは,

  1. 実際交信していない(最初の交信の際,コールサインをとり違い,あるいは近い周波数の別の局との交信がたまたまとられた)
  2. 交信したけど何らかのハプニングで記録できなかった(宅配や家庭の事情その他で急にシャックを離れなければならなくなり,戻った時に記録し損なう.ソフトやPCの不具合など)
  3. 完全にdupなのに,勘違いなどでもう一度呼んでしまった

などが考えられます.人のやることですから,頻度は少なくても避けられないと思います.

国内コンテストはログの型式や得点の計算方法が海外主催のコンテストと異なるし,コンテストごとに,クロスチェックのやり方がずいぶん違うのでどういうことになるかは解りません.

知らんけど.

「知らんけど」と書いて終りにするつもりが,もうひとつ思い出しました.交信対象から呼ばれても返事しない局も残念です.例えば,そのUkrainian DXコンテストは,Ukraina以外の参加局は,自国を含めてどこと交信しても得点になるのですが,呼んでも返事してくれない局が多くはないけどいました(このときはJAではなかったです).

ちゃんとしたコンテストログソフトを使えば,交信して良いのかどうかソフトが判定してくれるし,仮に対象外でも上記のdupと同様,交信して損はないのにと思った次第です

そりゃ,あれ使ってますから😓
手が滑ったり勘違いと言うこともないとは言えませんが😓
ただし,国内コンテストで,対象外の局と交信したら失格になるものがあると聞いたことがあります.知らんけど.

Monterey: DBD::MySQLで難航

ときどき書いてますが,全ての交信データ(ログデータ)は,MariaDBに入れてます.そのマネージメントは,自作のPerlスクリプトと,PhpMySQLでやってます.

MariaDBはMySQLに完全に置き換え可能なもので,バイナリーコンパチということになっています.つまりMariaDBですが,コマンドはmysql(関連アプリはmysql_*)で,MySQLを利用するアプリも,MySQLで使用していた時のまま使えます.

そのため,MySQLとMariaDBは普通は共存させません.

しかし,MacPortsでは,何をどう考えてそうしているのか解りませんが,MySQLとMariaDBを共存させることができます.そのため,MariaDBを使うためには,明示的にMariaDBを指定しなければなりません.

自作のPerlスクリプトはMySQLと接続するため,CPANのDBD::MySQLというモジュールを使っています.このモジュールをMacPortsでインストールしようとすると,依存性のあるmysql57をbuildしようとしますが,cmakeがエラーを出して失敗します.ためしに,mysql56, 55も試しましたがダメです.

MacPortsでMariaDBのインストールは何の問題もなくできました😓

普通はMariaDBがあれば,DBD::MySQLで接続できるんですが,DBD::MariaDBなどというおかしなモジュールを介さなければならず,自作のスクリプトを書き換えなければなりません.それはたやすいことなんですが,移植性ががぜん落ちます

さて困りました.問題点を書き出せば,解決が見えてくるかなと思いましたが,今のところ何にも見えません😓

他に試したけど効果がなかったこと

  1. Oracle MySQL community serverのインストール(macOS版 v8.0.x)
これまで,Slackware x86_64, ARMと,macOSどちらでもパッチなしで動いていました.

メインWSのMontereyも使えそう

前回の失敗を受け,メインWSであるMac mini 2018について,Catalinaの状態で,

  1. Wacomのドライバーをアンインストール
  2. FTDIのドライバーを最新版に更新

を実施してから,Montereyへのupgradeを試みたところ,無事成功しました.

Montereyにupgradeしたあと,Xcodeを実行しようとすると,Xcodeのupgradeを促され,upgrade後Xcodeを最初に走らせると,必要なコンポーネントのインストールを促されて,それを実行すると古い機能拡張がはじかれます.

FTDIのCatalina〜Big Sur対応のβ版のドライバーは,Montereyでも使えて,WSJT-Xで無事交信もできました.

アマチュア無線の近況

久しぶりに無線ネタというか,近況報告です.

今年を含めたここ5年間のQSO数の推移のClubLogのグラフです.

このグラフの区間より前の2012年がQSO数のピークで,年間1万QSOを越えました.これは生涯でもbestというか,mostです.翌2013年も8千QSOしましたが,その後は急減して,上のグラフの2017年がここ10年間の最低の1,160QSOとなりました.

コンテストにほとんど出なくなったのが大きな原因だと思います.もともと設備や技量やその他の事情から,入賞するほど交信はできないので,コンテスト参加の主な目的はアクティビティー(交信局数)の維持という特にゴールのない漠然としたものです.その中でもいろいろ工夫もあって,楽しかったのだと思います.

その漠然としたモチベーションが低下したのですが,特に最近辛いのは,一番好きなバンドである14MHzのもやっとした環境的というか雰囲気的な混信です.これは大昔からありましたが,胆力や聴力や集中力が低下して苦痛になっています.それをアクティビティーの向上などという弱いモチベーションでは跳ね返せません😓

別稿にあります,部分参加者にとって楽しくない事情もあります.

そんな中で一昨年から本格的に運用し始めたFT8は,どのバンドでも機械頼みなので,聴力はほとんど関係ないし,胆力や集中力もあまり関係ないので,去年と今年は8割がたFT8/FT4の運用という状況になりました.

コンテストはすっかり出なくなってしまいましたが,年末のRAEMだけは出たいと思っていますので,参加局はよろしくです.なお,ルールで不要とされている “599” は送らないで下さい.

少なくとも14MHzでrunする気力が全く出ません😓