glfw3(OpenGL のラッパー)のインストールではまっていたのですが,なんとか対応できたのでメモっておきます.
職場の iMac 5K と MacBook Pro にはまったく問題なくインストールできたのに,自宅の Mac mini だと Cmake が configuration 中にこけていました.なんでも clang のバージョンがわからないと文句を言って.そもそも brew install がこけただけだと,どんなエラーが起きているのかわかりにくいです.brew install -v formula を実行すればビルド中のログを見ることができます.
あれこれやっても原因がよくわからないので,Homebrew に頼らずに自力でビルドしてみたら,あっさりとビルドできてしまいました.やはり,Homebrew の調子が悪いようです.
次にオンラインマニュアル (man brew)で brew install のヘルプを見て –interactive というオプションがあることに気づき,対話モードでインストール作業をすることにしました.対話モードにすると,ソースコードを展開し,パッチをあてた状態で対話用のシェルが開きます.あとは,ビルドのためのコマンドにしたがってビルドすればいいだけです.
cmake \
-DCMAKE_INSTALL_PREFIX=/opt/brew/Cellar/glfw3/3.0.4 \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-Wno-dev \
-DGLFW_USE_CHDIR=TRUE \
-DGLFW_USE_MENUBAR=TRUE \
-DBUILD_SHARED_LIBS=TRUE \
.
make install
で,このコマンドはどこからやってきたかというと,$HOMEBREW/Library/Formula/glfw3.rb にだいたい以下のようなことが書かれています.
args = std_cmake_args +%@[
-DGLFW_USE_CHDIR=TRUE
-DGLFW_USE_MENUBAR=TRUE
...
]
では,std_cmake_args はどこからやってくるのかというと$HOMEBREW/Library/Homebrew/formula.rb に定義されていました.
ということで,ちょっと悩むことになりますが,いろいろやればなんとかなるようです.
それにしても,対話モードだとすっきりインストールできて,そうでないと失敗するというのはどういうことだろうか???