Al intentar instalar varias gemas cygwin
, sigo recibiendo este error:/usr/share/ruby/2.2.0/mkmf.rb:456:in try_do': The compiler failed to generate an executable file. (RuntimeError)
Este error es parte del mensaje de error completo a continuación:
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
Probé todo lo que pude encontrar en Google, de los cuales algunos realmente funcionan, entre ellos:
- Instalación del paquete cygwin correspondiente a la gema mediante la configuración de cygwin
- Instalar más paquetes cygwin, dependiendo de la gema que falla
Pero para este ejemplo tan específico, no pude encontrar lo que faltaba...
Respuesta1
La solución para este error fue (y es para todos esos errores) echar un vistazo al mkmf.log
archivo (para mí /cygdrive/d/d/Documents/.gem/ruby/extensions/x86_64-cygwin/ffi-1.9.8/mkmf.log
) y ver qué bibliotecas faltan.
En mi caso, -lcrypt
estaban -lgmp
fallando, así que tuve que "cygwin-setup" libcrypt-devel
y libgmp-devel
.