Estoy intentando instalar las siguientes versiones de gemas en Mavericks
- libv8 (3.16.14.3)
- terubyracer (0.12.1)
Obviamente, las gemas therubyracer dependen de libv8.
1) Instalación de libv8
¿Qué es libv8? Mi poco de investigación parece indicar que es una especie de biblioteca de JavaScript utilizada por Google Chrome.
Tenía problemas para instalarlo, pero esta gran publicación tenía mi error y una respuesta bien explicada sobre cómo evitarlo.
Así que instalé libv8
con
gem install libv8 -- --with-system-v8
Tengo entendido que esto instala la gema pero usa la instalación de mi sistema local de la biblioteca v8 en lugar de ... ¿la versión que viene con la gema? De cualquier manera, tuvo éxito.
2) Instalación de therubyracer
Durante el siguiente paso, tuve problemas para instalar therubyracer
gem. No estoy muy seguro de qué hace esta gema, solo que es una dependencia de un proyecto de rieles que estoy tratando de hacer bundle install
.
Me da el siguiente error:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/jeeves.butler/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
checking for v8.h... no
*** 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
--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=/Users/jeeves.butler/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
--with-pthreadlib
--without-pthreadlib
--with-objclib
--without-objclib
--enable-debug
--disable-debug
--with-v8-dir
--without-v8-dir
--with-v8-include
--without-v8-include=${v8-dir}/include
--with-v8-lib
--without-v8-lib=${v8-dir}/lib
/Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in
'configure': You have chosen to use the version of V8 found
on your system (Libv8::Location::System::NotFoundError)
and *not* the one that is bundled with the libv8 rubygem. However,
it could not be located. please make sure you have a version of
v8 that is compatible with 3.16.14.3 installed. You may
need to special --with-v8-dir options if it is in a non-standard
location
thanks,
The Mgmt
from /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile'
from extconf.rb:32:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/therubyracer-0.12.1 for inspection.
Results logged to /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/extensions/x86_64-darwin-13/1.9.1/therubyracer-0.12.1/gem_make.out
Por lo que puedo reunir, elegí instalar libv8
usando mi biblioteca V8 local en lugar de lo que se proporcionó libv8
, pero ahora no se pudo ubicar la instalación local.
- ¿Cómo verifico si realmente tengo V8 instalado y cómo lo ubico?
- Probé algunos de los indicadores especificados, ninguno de ellos parecía apuntar la gema al directorio de instalación correcto
- Este podría ser un tema aparte, pero ¿cuál es
extconf.rb
? Lo he visto en algunos lugares. ¿Y qué está tratando de hacer con elgcc
compilador en específico?
¡¡Gracias!!
EDITAR:
Probé esta solución de desinstalar libv8 y reinstalación de vía
brew install
. También se mencionó en un par de preguntas similares. Sin suerte.También probé el
CC
,CXX
yCPP
variables de entorno como se describe aquí , aunque no creo que tenga ningún efecto, ya que ya estaba recogiendo migcc v4.6
compilador.