msys2でJekyllを動かす時のメモ

よく分からないけど、msys2でgccが入ってても、RubyInstaller for WindowsRubyを入れた時は、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

うーん、よく分かりません。。奥が深い。