therubyracer - Gem :: Ext :: BuildError: FEHLER: Fehler beim Erstellen einer gem-nativen Erweiterung

Ich versuche zu installieren die folgenden Edelstein-Versionen auf Mavericks

  • libv8 (3.16.14.3)
  • therubyracer (0.12.1)

Offensichtlich therubyracer Edelsteine hängt von libv8.

1) die Installation von libv8

Was ist libv8? Meine wenig von der Forschung scheint zu indicaite es ist eine Art von javascript-Bibliothek verwendet, die von Google Chrome?

Ich hatte Schwierigkeiten, es zu installieren, aber diesen tollen Beitrag hatte beide, mein Fehler und eine gut erklärte Antwort, wie man es umgehen.

Also habe ich installiert libv8 mit

gem install libv8 -- --with-system-v8

Es ist mein Verständnis, dass dies installiert den Edelstein benutzt aber meinem lokalen system installation der v8-Bibliothek statt... die version, die kommt mit dem Juwel? So oder so, es war erfolgreich.

2) Installieren therubyracer

Während der nächste Schritt, ich hatte Mühe, installieren therubyracer gem. Ich bin mir nicht ganz sicher, was dieses Juwel hat, nur, dass es eine Abhängigkeit von einer rails-Projekt, das ich bin versucht zu bundle install.

Es gibt mir die folgende Fehlermeldung:

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

Von dem, was ich sammeln können, die ich wählte zu installieren libv8 mit meinem lokalen V8-Bibliothek statt, was war mit libv8aber jetzt, dass die lokale installation konnte nicht gefunden werden.

  • Wie kann ich überprüfen, ob ich tatsächlich V8 installiert und wie finde ich es?
  • Ich habe versucht ein paar von den angegebenen flags, keiner von Ihnen schien den Stein an die richtige Installationsverzeichnis
  • Könnte dies ein separates Thema, aber was ist extconf.rb? Ich habe gesehen, dass es in ein paar Plätze. Und was versucht es zu tun mit der gcc compiler in bestimmten?

Dank!!

EDIT:

  1. Versuchte ich diese Lösung der deinstallation von libv8 und re-Installation über brew install. Es wurde erwähnt, in ein paar ähnliche Fragen. Kein Glück.
  2. Ich habe auch versucht, die CCCXXund CPP Umgebungsvariablen wie beschrieben hierobwohl ich nicht glaube, dass hat keine Auswirkungen, da war es schon hob meine gcc v4.6 compiler.

InformationsquelleAutor der Frage user2490003 | 2014-05-08

Schreibe einen Kommentar