学習する天然ニューラルネット

主に機械学習に関する覚書や情報の整理。競プロ水色→Kaggle Master→?

LightGBMのインストールのエラーに戸惑った話

事件の発生

LightBGMというライブラリを公式の手順に従ってインストールしようとしたらエラーメッセージが突如現れた。 github.com

またインストールするときにスムーズに行くように記録を残しておく。

環境はmacOS Sierra 10.12.6

どんなエラーが出たか

$ 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

別のマシーンでまたまたハマりました。

aotamasaki.hatenablog.com

さらに追記

condaを用いているなら、かなり楽にインストールできる

conda install -c conda-forge lightgbm