質問: cygwinで「コンパイラが実行可能ファイルを生成できませんでした」というgemのインストールに失敗する cygwinに複数のgemをインストールしようとすると、次のエラーが発生し続けます:/usr/share/ruby/2.2.0/mkmf.rb:456:in try_do': the compiler failed to generate an executable file. (runtimeerror)このエラーは、以下の完全なエラーメッセージの一部です。gem::ext::builderror: error: failed to build gem native extension. /usr/bin/ruby.exe -r ./siteconf20150603-27012-w371hi.rb extconf.rb *** 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 [...truncated...] --without-pkg-config /usr/share/ruby/2.2.0/mkmf.rb:456:in `try_do': the compiler failed to generate an executable file. (runtimeerror) you have to install development tools first. from /usr/share/ruby/2.2.0/mkmf.rb:541:in `try_link0' from /usr/share/ruby/2.2.0/mkmf.rb:556:in `try_link' from /usr/share/ruby/2.2.0/mkmf.rb:637:in `try_ldflags' from /usr/share/ruby/2.2.0/mkmf.rb:1780:in `pkg_config' from extconf.rb:15:in `<main>' extconf failed, exit code 1 gem files will remain installed in /cygdrive/d/d/.gem/ruby/gems/ffi-1.9.8 for inspection. results logged to /cygdrive/d/d/.gem/ruby/extensions/x86_64-cygwin/ffi-1.9.8/gem_make.out 私はグーグルで見つけることができるすべてのものを試しましたが、そのうちのいくつかは実際に機能します: cygwinセットアップを介してgemに対応するcygwinパッケージをインストールする 失敗したgemに応じて、さらにcygwinパッケージをインストールする しかし、この非常に具体的な例では、何が欠けているのかを見つけることができませんでした...
回答: このエラーの解決策は、mkmf.logファイル(私にとっては/cygdrive/d/d/documents/.gem/ruby/extensions/x86_64-cygwin/ffi-1.9.8/mkmf.log)を調べて、欠落しているライブラリを確認することでした(そしてそのようなすべてのエラーに対するものです)。私の場合、-lcryptと-lgmpが失敗していたので、libcrypt-develとlibgmp-develを「cygwin-setup」する必要がありました。