PHP
OSX

PHP7をmacOSでビルドしたらエラーになった

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