33835


お世話になります。

タイトルのとおりですが、gemのeventmachineをinstallしようとするとErrorが出てきてInstallができません...  
いろいろ調べたのですが、結局解決できなかったので、ここに質問させていただきます。

なお、rubyのバージョンは2.4.0  
開発環境はMacBookAirになります。

つぎに下記が実施ログとなります。

[code]

    YourMacBookAir:slackTest userName$ gem install eventmachine
    Building native extensions.  This could take a while...
    ERROR:  Error installing eventmachine:
            ERROR: Failed to build gem native extension.
    
        current directory: /Users/userName/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.3/ext
    /Users/userName/.rbenv/versions/2.4.0/bin/ruby -r ./siteconf20170407-37771-1h8lzrd.rb extconf.rb
    checking for -lcrypto... yes
    checking for -lssl... yes
    checking for openssl/ssl.h... yes
    checking for openssl/err.h... yes
    checking for rb_trap_immediate in ruby.h,rubysig.h... no
    checking for rb_thread_blocking_region()... no
    checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
    
    checking for rb_thread_fd_select()... yes
    checking for rb_fdset_t in ruby/intern.h... yes
    checking for rb_wait_for_single_fd()... yes
    checking for rb_enable_interrupt()... no
    checking for rb_time_new()... yes
    checking for inotify_init() in sys/inotify.h... no
    checking for __NR_inotify_init in sys/syscall.h... no
    checking for writev() in sys/uio.h... yes
    checking for pipe2() in unistd.h... no
    checking for accept4() in sys/socket.h... no
    checking for SOCK_CLOEXEC in sys/socket.h... no
    checking for sys/event.h... yes
    checking for sys/queue.h... yes
    checking for clock_gettime()... no
    checking for gethrtime()... no
    CXXFLAGS=$(cxxflags)
    creating Makefile
    
    To see why this extension failed to compile, please check the mkmf.log which can be found here:
    
      /Users/userName/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-14/2.4.0-static/eventmachine-1.2.3/mkmf.log
    
    current directory: /Users/userName/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.3/ext
    make "DESTDIR=" clean
    
    current directory: /Users/userName/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.3/ext
    make "DESTDIR="
    compiling binder.cpp
    make: g++-4.2: No such file or directory
    make: *** [binder.o] Error 1
    
    make failed, exit code 2
    
    Gem files will remain installed in /Users/userName/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.3 for inspection.
    Results logged to /Users/userName/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-14/2.4.0-static/eventmachine-1.2.3
    /gem_make.out
    
[/code]

次にg++とgccのバージョンをコマンドにて確認した結果になります。

[code]

    YourMacBookAir:slackTest userName$ gcc -v
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 7.0.2 (clang-700.1.81)
    Target: x86_64-apple-darwin14.5.0
    Thread model: posix
    
    
    YourMacBookAir:slackTest userName$ g++ -v
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 7.0.2 (clang-700.1.81)
    Target: x86_64-apple-darwin14.5.0
    Thread model: posix
    
[/code]

エラーメッセージに`make: g++-4.2: No such file or
directory`とありましたので、g++あたりに問題があるのかと思いますが、具体的な解決方法がわからず困っております。

他に必要な情報や実行結果などありましたら、連絡いただければ記載いたします。

お手数ですが、解決策のわかる方ご教授いただければ助かります。

追記、質問に対してコマンドの実施結果になります。

[code]

    YourMacBookAir:slackTest userName$ type g++-4.2
    -bash: type: g++-4.2: not found
    YourMacBookAir:slackTest userName$ type ruby
    ruby is /Users/takatakentarou/.rbenv/shims/ruby
    
[/code]


CC BY-SA 3.0
2017-04-07T05:03:23.033
33833
2017-04-07T17:43:15.047
2017-04-07T17:43:15.047
20774
20774
question
ruby rubygems
gem install eventmachineで失敗する


Tone0929さんのMacにインストールされている`g++`はバージョン4.2.1のようなので、無理やり`g++-4.2`というファイルを`g++`への[シンボリックリンク](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%83%AA%E3%83%B3%E3%82%AF)として作成してやれば解決しそうです。

[code]

    $ sudo ln -s /usr/bin/g++ /usr/bin/g++-4.2
    
[/code]

ただし`g++`のバージョンが上がってしまうとこれは正しくないので、注意してください。その場合はたとえば`g++-4.2`を独立したバイナリとして用意すると解決するでしょう(そのためにはg++の特定のバージョンをインストールする必要があるはずです)。

  * 参考 
    * ["getting eventmachine gem to compile on OSX Lion 10.8.2 with xcode 4.5.1"](https://stackoverflow.com/questions/12908484/getting-eventmachine-gem-to-compile-on-osx-lion-10-8-2-with-xcode-4-5-1) \-- Stack Overflow
    * [「普段どうやってエラーメッセージから問題を解決しているか？」](http://nilfs.hatenablog.jp/entry/2015/06/17/175246) …… 記事中で解説されているエラーが今回のものと同一です。


CC BY-SA 3.0
2017-04-07T07:33:13.190
33835
2017-04-07T07:33:13.190
2017-05-23T12:38:56.083
-1
19110
33833
answer


(Tone0929さんの解決にはならないかもしれませんが、回答の集積を意識し、ここに書き残しておきます）

eventmachineのGitHub上のレポジトリで、OS X 10.11上で同じエラー`make: /usr/bin/g++-4.2: No such
file or directory`を出しているissueを見つけました。

これによると、「古いOS
Xの際にrbenv経由でインストールしたRubyが`g++-4.2`に依存していた。`.rbenv/`を消してRubyとgemを再インストールすると問題が解決した」そうです。

参考： ["Can't install on OS X
10.11"](https://github.com/eventmachine/eventmachine/issues/677) \-- GitHub


CC BY-SA 3.0
2017-04-07T07:35:29.553
33836
2017-04-07T07:35:29.553
19110
33833
answer