Cバインディングでダイナミックリンクライブラリを呼び出す ctypes.util.find_library()
という関数が動かなくてハマった。具体的に書くと pysodium がライブラリを読めずにエラーを吐いていた。
環境は以下。
- Apple MacBook Air M1 2020
- macOS BigSur 11.1
- Python 3.9.1 (pyenv経由)
ライブラリが非互換なのかと思いパッチを探し回ったり、 LD_LIBRARY_PATH
を設定して挙動確認したが、 find_library()
にパスをハードコードすることで呼び出すことができた。BigSurで挙動が変更されたことによる影響らしい。
プロセッサとOSの変更が重なって混乱し、調べ物で2晩くらい費やしてしまった。
とりあえずOSの変更によるものということは分かったが、もしかしてこれ、ランタイムかライブラリが変更されるまでこのままなのか…。