ruby - rails - La compilación de rbenv falló en Ubuntu 14.04
uninstall ruby ubuntu (2)
He instalado con éxito rbenv (junto con las herramientas de compilación) en mi escritorio Ubuntu 14.04, y eso parece estar funcionando bien, pero tan pronto como trato de instalar Ruby 2.1.1, falla la compilación:
daniel@grape:~$ rbenv install 2.1.1
Downloading yaml-0.1.6.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/5fe00cda18ca5daeb43762b80c38e06e
Installing yaml-0.1.6...
Installed yaml-0.1.6 to /home/daniel/.rbenv/versions/2.1.1
Downloading ruby-2.1.1.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/e57fdbb8ed56e70c43f39c79da1654b2
Installing ruby-2.1.1...
BUILD FAILED
Inspect or clean up the working tree at /tmp/ruby-build.20140418142258.3543
Results logged to /tmp/ruby-build.20140418142258.3543.log
Last 10 log lines:
installing default ripper libraries
compiling ossl_pkcs7.c
compiling ossl_ssl.c
installing default openssl libraries
linking shared-object openssl.so
make[2]: Leaving directory `/tmp/ruby-build.20140418142258.3543/ruby-2.1.1/ext/openssl''
linking shared-object ripper.so
make[2]: Leaving directory `/tmp/ruby-build.20140418142258.3543/ruby-2.1.1/ext/ripper''
make[1]: Leaving directory `/tmp/ruby-build.20140418142258.3543/ruby-2.1.1''
make: *** [build-ext] Error 2
El contenido del archivo de registro se puede encontrar aquí: http://pastebin.com/SXxTeCJY
He hecho algunas búsquedas de ayuda con este problema, incluido el seguimiento de lo que se dice aquí: https://github.com/sstephenson/ruby-build/wiki , pero no he disfrutado.
ACTUALIZACIÓN : Use Ruby 2.1.2, soluciona este problema.
14.04 probablemente se envíe con readline 6.3, que usa rl_hook_func_t
lugar de Function
.
Este error ya se informó y se corrigió en Ruby ( https://bugs.ruby-lang.org/issues/9578 ), pero aún no se ha lanzado.
Hasta que aparezca Ruby 2.1.2 (que supongo que contendrá esta corrección), puede usar un parche para admitir correctamente el nuevo método rl_hook_func_t
. Use esto para instalar Ruby 2.1.1:
curl -fsSL https://gist.github.com/mislav/a18b9d7f0dc5b9efc162.txt | rbenv install --patch 2.1.1
(Fuente: http://gorails.com/setup/ubuntu/14.04 )
ACTUALIZACIÓN : Ruby 2.1.2, soluciona este problema. Si necesita parchear ruby con Chef por alguna otra razón, siga el ejemplo aquí.
Instalación Chef de Ruby 2.1.1 en Ubuntu 14.04 usando LWRP
Código para parchear Ruby 2.1.1 en Trusty Ubuntu (14.04) usando el libro de cocina Ribergames rbenv - cortado y pegado - sin garantía :-) Tengo un libro de cocina wrapper que se prueba en Ubuntu 14.04 (versión 1.0.4) . La forma más fácil de hacerlo es clonar el repositorio y convergerlo en la cocina de prueba. El problema principal es que el libro de cocina utiliza Berkshelf 3.1.1 y la mayoría de la gente probablemente todavía esté en 2. El código pegado debería funcionar en Berkshelf 2.x y 3.1.1.
Berksfile
cookbook ''rbenv'', github: "RiotGames/rbenv-cookbook"
Metadata
depends ''rbenv''
Atributos (attributes / default.rb)
default[''ruby''][''version''] = ''2.1.1''
Receta (recetas / default.rb)
# patchutils is required to patch Ruby version
package ''patchutils''
include_recipe "rbenv::default"
include_recipe "rbenv::ruby_build"
# Installs a patched, global, ruby
rbenv_ruby node[''ruby''][''version''] do
global true
patch "https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/45225/diff?format=diff"
end
Rico