zig build でエラーが起きる(macOS Sequoia + Zig 0.13.0)

2024-10-04  /  開発環境Zig

自分で書いたコードは問題ないのですが、forkしてきたリポジトリをビルドしようとするとエラーが起きるようになってしまいました。

error: unable to find libSystem system library

以下のようなエラーが発生します。

error: unable to find libSystem system library
    note: tried /opt/homebrew/Cellar/zig/0.13.0/lib/zig/libc/darwin/libSystem.tbd
    note: tried /opt/homebrew/Cellar/zig/0.13.0/lib/zig/libc/darwin/libSystem.dylib
    note: tried /opt/homebrew/Cellar/zig/0.13.0/lib/zig/libc/darwin/libSystem

このエラーで検索したら以下の投稿を見つけました。

What to fix this related libSystem build error - Help - Ziggit

シンボリックリンクで解決したが…

回答にあった以下のコマンドを利用することで一応解決できました。

ln -s /Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.B.tbd /opt/homebrew/Cellar/zig/0.13.0/lib/zig/libc/darwin/libSystem.tbd

実際にはこんな感じ。

$ ln -s /Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.B.tbd /opt/homebrew/Cellar/zig/0.13.0/lib/zig/libc/darwin/libSystem.tbd
$ zig build
$ echo $?
0

Homebrewのformulaの問題という書き込みもあったのですが、実際どうなんでしょうね。

devContainerを使おうかな

こういう依存ライブラリが起因のエラーは、MacのOSアップグレードとかXCodeのアップグレードとかで発生することがある気がします。そういったところと無関係なLinux環境としてVSCode + DevContainerを利用しても良いかなぁと考えています。

簡単に使えると良いけど。