42941


[「RubyとRailsをインストール後、gem puma -v
'3.11.3'のインストール方法」](https://ja.stackoverflow.com/q/42847/19110)の続きです。お世話になります。(環境はWindows10
Homeです）

`gem puma -v '3.11.3'`をインストール後、エラーが出るので mkmf.log
（`C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/puma-3.11.3/mkmf.log`）を見ると、次の
file or directoryが無いとの事でした。

[code]

    [C:/Ruby]  [installation] [related] [file] [NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o]
    
[/code]

どうしたらいいでしょうか？

以下は、mkmfの内容です。

[code]

    "x86_64-w64-mingw32-gcc -o conftest.exe -IC:/Ruby25-x64/include/ruby-2.5.0/x64-mingw32 -IC:/Ruby25-x64/include/ruby-2.5.0/ruby/backward -IC:/Ruby25-x64/include/ruby-2.5.0 -I. -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64  -march=x86-64 -mtune=generic -O2 -pipe conftest.c  -L. -LC:/Ruby25-x64/lib -L. -pipe     -lx64-msvcrt-ruby250  -lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi  "
    C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:/Ruby: No such file or directory
    C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find installation: No such file or directory
    C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find related: No such file or directory
    C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find file: No such file or directory
    C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o: No such file or directory
    collect2.exe: error: ld returned 1 exit status
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: #include <winsock2.h>
    4: #include <windows.h>
    5: int main(int argc, char **argv)
    6: {
    7:   return 0;
    8: }
    /* end */
    
[/code]

以下は、`gem puma -v '3.11.3'`をインストール後に出る内容です。

[code]

    Temporarily enhancing PATH for MSYS/MINGW...
    Installing required msys2 packages: mingw-w64-x86_64-openssl
    警告: mingw-w64-x86_64-openssl-1.0.2.o-1 は最新です -- スキップ
    Building native extensions. This could take a while...
    ERROR:  Error installing puma:
            ERROR: Failed to build gem native extension.
    
    current directory: C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/puma-3.11.3/ext/puma_http11
    C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20180402-14912-da1q9t.rb extconf.rb
    checking for BIO_read() in -lcrypto... *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of necessary
    libraries and/or headers.  Check the mkmf.log file for more details.  You may
    need configuration options.
    
    Provided configuration options:
            --with-opt-dir
            --without-opt-dir
            --with-opt-include
            --without-opt-include=${opt-dir}/include
            --with-opt-lib
            --without-opt-lib=${opt-dir}/lib
            --with-make-prog
            --without-make-prog
            --srcdir=.
            --curdir
            --ruby=C:/Ruby25-x64/bin/$(RUBY_BASE_NAME)
            --with-puma_http11-dir
            --without-puma_http11-dir
            --with-puma_http11-include
            --without-puma_http11-include=${puma_http11-dir}/include
            --with-puma_http11-lib
            --without-puma_http11-lib=${puma_http11-dir}/lib
            --with-openssl-dir
            --without-openssl-dir
            --with-openssl-include
            --without-openssl-include=${openssl-dir}/include
            --with-openssl-lib
            --without-openssl-lib=${openssl-dir}/lib
            --with-cryptolib
            --without-cryptolib
    
    To see why this extension failed to compile, please check the mkmf.log which can be found here:
    
      C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/puma-3.11.3/mkmf.log
    
    extconf failed, exit code 1
    
    Gem files will remain installed in C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/puma-3.11.3 for inspection.
    Results logged to C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/puma-3.11.3/gem_make.out
    
[/code]

* * *

質問の補足です。お世話になります。

C:/Ruby installation related file NF は存在し、 mingw関連のフォルダやファイルも入っています。

・mingw関連フォルダは2つです。  
[mingw32] フォルダの中には、[bin] [etc] [include] [lib] [share] 。  
[mingw64] フォルダの中には、[bin] [etc] [include] [lib] [libexec] [share] [ssl]
[x86_64-w64-mingw32]。

・mingw関連ファイルは4つです。  
[mingw32.exe] [mingw32.ini] [mingw64.exe] [mingw64.ini] ）

・C:/Ruby installation related file
NF/mingw64//lib/gcc/x86_64-w64-mingw32/7.3.0、も存在します。

2016年ごろ、Rubyをインストールしようとしてできなかった事があります。  
また先月末、インストール失敗時には、Rubyをアンイストールしています。  
(最初は [ruby -v] [rails -v] でバージョン確認可能でしたが、[rails s] でエラー後、いろいろ試しているうちに、[ruby
-v] [rails -v] でバージョン確認できなくなったためです)

* * *

質問の補足です。お世話になります。

RubyInstaller時代のDevelopment Kit (DevKit)に相当するものが、MSYS2というパッケージとのことで、[C:/Ruby
installation related file NF] フォルダの中に、msys2 関係のファイルが４つあります。  
[msys2.exe] [msys2.ico] [msys2.ini] [msys2_shell.cmd]  
（Rubyインストール時の、「MSYS2インストール」では、「If unsure press ENTER [1, 2. 3]」の所で、よくわからなかったので
「(数字は入力せずに) Enterを押しただけ」にしてしまいました。

* * *

Rubyの種類です。

> ruby -v  
>  ruby 2.5.1p57 (2018-03-29 revision 63029) [x64-mingw32]  
>  rails -v  
>  Rails 5.1.6

大体こちらのサイトを参考にインストールしています。
<https://qiita.com/ibarakids/items/ad04ba4ae80f2f144d9c>

（Rubyインストール時の、「MSYS2インストール」では、「If unsure press ENTER [1, 2. 3]」の所で、よくわからなかったので
「(数字は入力せずに) Enterを押しただけ」にしてしまいました。)  
[1, 2, 3] とは、 [ 1- MSYS2 base installation] [ 2- MSYS2 system update] [ 3-
MSYS2 and MINGW development toolchain ] です。

* * *

質問の補足です。 お世話になります。  
C:/Ruby installation related file NF → C:/Ruby-installation-related-file-
NFに変更することにより、このファイル名に関するエラー記述はmkmf.log からなくなりましたが、puma (3.11.3)
のエラーが出るので、Rubyのアンインストールと、フォルダの削除 (Ruby25-x64 と Ruby-installation-related-file-
NF） をして、Rubyをインストールしなおしました。  
(3月末にRubyのインストール失敗後アンインストールした時も、C:/Ruby installation related file
NFフォルダは残ったままでした。質問頂いて初めて気づきました。ありがとうございます。)

[>rails new ‐‐] で今度は次のエラーが出ます。  
「C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb:3908:in `codepoints': invalid
byte sequence in Windows-31J (ArgumentError)」  
「C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb」をクリックすると、コマンドスクリーンが一瞬現れてすぐ消えます。  
今回はpuma (3.11.3) はOKのようで、この質問の続きではなく新たに質問を投稿します。  
(PS 今回、前回のインストールで msys2はちゃんとインストールされていなかったことが分かりました。指摘頂きありがとうございます。)


CC BY-SA 3.0
2018-04-02T01:42:31.997
42857
2018-04-05T11:47:11.643
2018-04-05T11:47:11.643
27264
27264
question
ruby-on-rails
RubyとRailsをインストール後、gem puma -v '3.11.3'のインストール方法 (2）


windows環境のようなので単純にdevkitがインストールされていないのではないでしょうか？  
以下のサイトにインストール手順がまとめられています。  
<https://qiita.com/jnchito/items/08b5be458134073c60e3>


CC BY-SA 3.0
2018-04-03T04:21:30.260
42882
2018-04-03T04:21:30.260
13909
42857
answer


`C:/Ruby installation related file NF` に空白が含まれているのが問題のような気がします。

`C:/Ruby-installation-related-file-NF` 等、空白を含まない別のディレクトリに mingw
をインストールして試してみてはいかがでしょうか?


CC BY-SA 3.0
2018-04-05T02:45:41.917
42941
2018-04-05T02:45:41.917
5288
42857
answer