phpenv で PHP-7.1.5 をインストールしたらエラーになった。
ld: file not found: /usr/lib/system/libsystem_darwin.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ext/opcache/opcache.la] Error 1
以前はエラーにならなかった。何がきっかけかなのかわからない。
ファイル名から推測するとmacOSのシステムライブラリっぽい。macOS か Xcode のアップデートでファイルがなくなんだろうか。
find で検索したところ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system/libsystem_darwin.tbd
というファイルが見つかった。拡張子が .dylib
じゃなくて .tbd
になっている。
テキストファイルなので中を表示すると libsystem_darwin.dylib
のパスやシンボル名?などが書いてある。
ググってみてもよくわからないがこのファイルがリンクのような役割をしてそうなので LDFLAGS
でこのディレクトリを教えてやると無事コンパイルできた。
$ LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system" phpenv install 7.1.5