M1 M2 Mac で git コマンド (CLI) をビルドするときは LIBRARY_PATH を /opt 配下に指定する

前提

https://github.com/git/git を clone して $ make configure && ./configure --prefix=/path/to && make && make install をしたらエラーが出ます。

結論

環境変数 LIBRARY_PATHLIBRARY_PATH=":/opt/homebrew/opt/openssl@3/lib/" と指定します*1

エラーを直すまでの経緯

冒頭のとおりにビルドすると、ビルドのログに以下のようなメッセージが数回出ます。

ld: warning: directory not found for option '-L/usr/local/opt/openssl/lib/'

warning は実質エラー*2と考えるべきなので、これが誤っているようです。そしてこれは M1 M2 Mac では頻出の内容です。

この -L/usr/local/opt/openssl/lib/ はどこ由来なのか、ということを調べる必要があります。たいていこういうのは環境変数だと思うので $ env | grep /usr/local/opt/openssl/lib/ をしたところ、当該環境変数が見つかりました。

環境変数からもってきてるのではなく、たとえば configure のオプションで指定するとかだったらめちゃくちゃはまってたとは思います。

*1:opensslのバージョンは何でもいいので @1.1 とかでもいい

*2:try rescue で握りつぶして落ちないようにしているだけ

Powered by はてなブログ