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で無事交信もできました.

Montereyは1勝1敗

Macbookの方は特に問題なくMontereyで稼働し続けています.余勢を駆ってメインWSであるところのMac miniもMontereyにupgradeしました.Catalinaで動いている状態にupgradeをかけた形です.もちろんですが,upgrade前に外付けのSSDにクローニングしました.

upgrade後,機能拡張がいくつもはじかれて,Wacomのタブレットが使えません. “システム環境設定”のセキュリティーとプライバシー→プライパシーと開くと,「Wacomの機能拡張が読み込めません.再度読み込みますか」という趣旨のダイアログが出て,ボタンは「OK」しかないので,OKを押すとその何秒か後にまた同じダイアログが出ます.どうしようもないので,電源リセットして,システム環境設定を開かなければよさそうだと気付いて,システム環境設定に触れずにいくつかアプリを起動しました.

しかし,肝心なWSJT-Xが無線機と通信してくれません.

ls -l /dev/cu.*

を実行すると,FTDIのUSB-serialポートがひとつも表示されません.何回かMac miniを再起動をしていると,FTDIを含む多数の拡張機能が信頼できないから読み込めないというダイアログが出ました.

FTDIから最新のドライバーをダウンロードすることも考えましたが,また「Wacom…」が出始めると,電源リセットすることになるので,今回メインWSであるMac miniをMontereyにupgradeすること自体断念しました.

バックアップしておいた外付けSSDから起動してさくさくっと復旧,のつもりが,ここからが半日仕事になりました.

Catalinaの外付けSSDからの起動も紆余曲折がありましたが,最終的にはなんとかできました(たしか起動時にOptionキーを押しても起動ドライブ選択メニューが出ないので,MontereyからWacom嵐をなんとか切り抜けて,システム環境設定で起動ドライブを設定して起動したのだと思います)が,ディスクユーティリティーで内蔵SSDを初期化してもCarbon Copy Cloner (CCC)がコピー先が不適切だと,仕事を拒否します.CCC のV5も,有料upgradeしたばかりのV6も同じです.

仕方がないので,Catalinaのインストーラーをダウンロードして,初期化した内蔵SSDにインストールを試みたところ,うまくインストールが始まりました.

復元の選択で外付けのSSDを選んで何時間か後にようやく,ほぼCatalinaで動いていたときの最終状態に近づきました.

ここでもう一度外付けSSDから起動して,CCCで外から内へのクローニングを実行して,Montereyへのupgrade直前の状態に戻りました.

今後ですが,FTDIのドライバーがMonterey対応になっているか調べて,そうならそのドライバーを準備します.また,次回のupgradeは内蔵ドライブに対して行わず,外付けのSSDに行うことにします.復元作業に時間がかかりすぎるので.

追記: FTDIのドライバーはやる気なさそう

タイトルの通りですが,FTDIのVCP Driverのページを見たところ,MacOS 11 (Big Sur)対応がβ版だそうです.Monterey (MacOS 12)でも使えるかも知れませんが,あえて火中のクリを拾うようなことになりそうですね.

ということで,やめときます.

追記の追記: インストールはできた

とりあえず,FTDIのUSB-serialアダプターなどと言う時代遅れのディバイスをつなぐことのないMacbookに,FTDI VCP driver 2.4.4 (macOS Catalina対応)のインストールを試みました.インストーラーは正常終了しましたが,OSが不適合な機能拡張だとはじきました.

次にBig Sur対応のβ版を試したところ,インストールができて,OSも,「システム環境設定」のセキュリティーとプライバシーで,受け入れればOKとなりました.

動くかどうかは解りません.

あとで確認したところ,XcodeをMonterey用にupgradeして,最初に走らせた時に,「必要なコンポーネントをインストールしますか」とダイアログが出て,OKして進めると,使えない機能拡張がはじかれます.このとき,古いFTDIのドライバーもはじかれます.

Going to Monterey

ここ何年かは,VM Ware Fusionで動かすWindowsで動かす特殊なソフトの関係で,macOSのupgradeを控えてMojaveに留まっていました.ようやく最近その呪縛が解けて,Mac miniとMacbookをCatalinaにしたところですが,mac OS Montereyのリリースによってまた2周遅れになってしまいました.2周遅れまではAppleはサポートするとしているようですが,アプリの方がサポートをしなくなり始めて不具合が出ることがあります.そこでとりあえずMacbookからMontereyにして,様子を見てみることにします.

さて,どうなりますか.

技術的に解消したのではなくて,その「特殊なソフト」の必要性が低下したためです.
MojaveからCatalinaにしたのもGoogle Driveの不具合がきっかけです

iCloudがシンクロしない

というわけで,クラウドに置いたまま編集する必要があるファイルはiCloudに置くようにしました.先々iCloud+にupgradeしても良いかなと考えていました.

そんな矢先に,iCloudがシンクロしなくなりました.生活に一番必要なメモが更新されません.ノートパソコンで,今日買い物で購入する品を書き込んで,スーパーに着いてiPhoneで開いたら,全く昨日のメモのままだった.そういうことがけっこう頻繁に起きた時期がありました.仕方ないのでノートパソコンで編集したメモを出かける前にiPhoneで確認するか,もしくは買い物のメモはiPhoneで編集するのを習慣にしていました.

しかし,ここしばらくはiCloudの動作が安定して,ノートパソコンで編集したメモをiPhoneで確認せずにスーパーに着いてから開くというクラウド本来のあたりまえの便利さを享受していました.

当分は,iCloudがシンクロしない前提で生活することにします.