【Ruby】Win8+Mingw64+MSYS2でRuby2.3.0をコンパイルする
こんにちは、しきゆらです
今回は、2015年12月25日にリリースされたRuby 2.3.0をコンパイルしていきたいと思います
今回は、前回の記事でインストールしたMSYS2を用いてコンパイルしていきます
Ruby 2.3.0での新要素などは以下をご覧ください
Ruby 2.3.0 リリース – ruby-lang.org
Ruby2.3.0リリース 主な新機能についてサンプルコードとともに紹介 – Act as Professional
ひとまず、現在インストールされているものを置いておきます
$ pacman -Qe bash 4.3.042-4 bash-completion 2.1-6 bsdcpio 3.1.2-5 bsdtar 3.1.2-5 bzip2 1.0.6-2 catgets 1.1-2 coreutils 8.24-1 crypt 1.1-6 curl 7.45.0-1 dash 0.5.8-1 file 5.24-1 filesystem 2015.04-3 findutils 4.5.14-4 flex 2.6.0-1 gawk 4.1.3-1 gcc-libs 4.9.2-6 grep 2.22-1 gzip 1.6-1 inetutils 1.9.2-1 info 6.0-1 less 481-1 libxslt 1.1.28-7 libyaml 0.1.4-1 lndir 1.0.3-1 make 4.1-4 mingw-w64-x86_64-binutils 2.25.1-1 mingw-w64-x86_64-crt-git 5.0.0.4598.fc005cd-1 mingw-w64-x86_64-gcc 5.3.0-1 mingw-w64-x86_64-gcc-libs 5.3.0-1 mingw-w64-x86_64-gdb 7.10.1-1 mingw-w64-x86_64-headers-git 5.0.0.4598.fc005cd-1 mingw-w64-x86_64-libmangle-git 5.0.0.4509.2e5a9a2-1 mingw-w64-x86_64-libwinpthread-git 5.0.0.4573.628fdbf-1 mingw-w64-x86_64-make 4.1.2351.a80a8b8-1 mingw-w64-x86_64-pkg-config 0.29-1 mingw-w64-x86_64-tools-git 5.0.0.4592.90b8472-1 mingw-w64-x86_64-winpthreads-git 5.0.0.4573.628fdbf-1 mintty 1~2.2.1-1 msys2-keyring r9.397a52e-1 ys2-runtime 2.4.0.16814.ac5d7ed-1 ncurses 6.0.20151121-1 pacman 4.2.1.6317.6ac7836-1 pacman-mirrors 20150722-2 patch 2.7.5-1 pax-git 20140703.2.1.g469552a-1 pkgfile 15-1 rebase 4.4.1-6 repman-git r23.87bf865-1 sed 4.2.2-2 tar 1.28-3 tftp-hpa 5.2-1 time 1.7-1 tzcode 2015.e-1 unzip 6.0-2 util-linux 2.26.2-1 wget 1.16.3-1 which 2.21-2
Ruby 2.3.0のダウンロードからインストールまでは以下の通り
$ wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz $ tar zxvf ruby-2.3.0.tar.gz $ cd ruby-2.3.0 $ ./configure $ make $ make install
コンパイル後、パスを通し以下のように出てきたら完了です
$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw64]
さて、これでコンパイルしてできたRubyをmingw64_shell.batから実行する場合
gemやirbに関する操作を行う場合は
$ gem.cmd -v
のように「.cmd」とつけないと実行できません
また、コマンドプロンプトからgemの操作を行うとエラーが起きて実行できません
(これに関する情報があれば教えてほしい・・・)
とりあえず、これでRubyを用意できました
今後はこれを使っていろいろやっていきます
※
ちなみに、確認したところ
ruby-1.9.3-p551
ruby-2.0.0-p648
ruby-2.1.8
のコンパイルは成功しましたが
ruby-2.2.4
のコンパイルには失敗しました
とりあえず、Rubyの環境を整備したい方はどうぞ
おわり
追記:2016年1月31日
この方法でコンパイルしたRuby2.3.0では、RubyがSegmentation faultを起こす場合があります
(RubyInstallerのもので確認したところ、Segmentation faultは起きませんでした)
どうやら、win32oleのclipPutを使うとSegmentation faultが起こるようです
使用する場合は少し注意して下さい
更新履歴
2016年1月17日:タイトルが「~+MSMY2+~」となっていたので「~+MSYS2+~」に修正
2016年1月31日:Segmentation faultを起こす可能性があることを追記
ディスカッション
コメント一覧
まだ、コメントがありません