LightGBMのインストールのエラーに戸惑った話
事件の発生
LightBGMというライブラリを公式の手順に従ってインストールしようとしたらエラーメッセージが突如現れた。 github.com
またインストールするときにスムーズに行くように記録を残しておく。
どんなエラーが出たか
$ cmake ..
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/CMakeDetermineCCompiler.cmake:48 (message): Could not find compiler set in environment variable CC: gcc-7. Call Stack (most recent call first): CMakeLists.txt:9 (PROJECT) CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!
gccまわりの設定がうまく行ってないみたいな?
ずいぶん前に別のマシーンにインストールしたときもこれではない別の問題でインストールに苦戦したような気もする…これだからpipだけでインストールできないやつは...
どうやって解決したか
公式の手順
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM export CXX=g++-7 CC=gcc-7 # replace 7 with version of gcc installed on your machine mkdir build ; cd build cmake .. make -j4
これの2行目を
export CXX=g++-8 CC=gcc-8
に変えることで、無事インストールできた。コメントアウトに# replace 7 with version of gcc installed on your machine
って書いてくれてるし、自分のgccのバージョンに合わせれば平気そう。
2018/07/03現在、下記のコマンドを書き換えた2行目の前に入れておけば、すでに古いgccが入っていても平気なはず…?(未検証)
brew upgrade gcc
追記2018/08/03
別のマシーンでまたまたハマりました。
さらに追記
condaを用いているなら、かなり楽にインストールできる
conda install -c conda-forge lightgbm