よく分からないけど、msys2でgcc
が入ってても、RubyInstaller for WindowsでRubyを入れた時は、mingw用にも入れとかないといけないっぽい。
こんなエラーが出ていた。
$ gem install jekyll creating Makefile make "DESTDIR=" clean make "DESTDIR=" generating parser_ext-x64-mingw32.def /C/tools/ruby21/bin/ruby: not found make: *** [parser_ext-x64-mingw32.def] Error 127 make failed, exit code 2
なんか調べてみるとmake
は入ってるけど、cmake
はインストールしてなかった。
$ pacman -Ss 'make' mingw64/mingw-w64-x86_64-cmake 3.2.2-1 A cross-platform open-source make system (mingw-w64). ...snip... msys/make 4.1-4 (base-devel) [インストール済み] GNU make utility to maintain groups of programs
入れてみる。
$ pacman -S mingw64/mingw-w64-x86_64-cmake
もっかいやると別のエラーが出る
$ gem install jekyll ERROR: Error installing jekyll: ERROR: Failed to build gem native extension. C:/tools/ruby21/bin/ruby.exe extconf.rb creating Makefile make "DESTDIR=" clean make "DESTDIR=" generating yajl-x64-mingw32.def compiling yajl.c make: x86_64-w64-mingw32-gcc: コマンドが見つかりませんでした Makefile:220: ターゲット 'yajl.o' のレシピで失敗しました make: *** [yajl.o] エラー 127 make failed, exit code 2
gcc
を見ると、msys用のgcc
はあるけどmingwの方はインストールされてない。
$ pacman -Ss gcc ...snip... mingw64/mingw-w64-x86_64-gcc 4.9.2-5 (mingw-w64-x86_64-toolchain mingw-w64-x86_64) GNU Compiler Collection (C,C++,OpenMP) for MinGW-w64 ...snip... msys/gcc 4.9.2-4 (msys2-devel) [インストール済み] The GNU Compiler Collection - C and C++ frontends
これも入れてみる。
$ pacman -S mingw64/mingw-w64-x86_64-gcc
もう一度やるとうまくいった。
$ gem install jekyll ...snip... Done installing documentation for celluloid, classifier-reborn, coffee-script, coffee-scriptte, jekyll-sass-converter, jekyll-watch, listen, parslet, pygments.rb, rb-fsevent, rb-inotif 24 gems installed
うーん、よく分かりません。。奥が深い。