Gem::Ext::BuildError: FEHLER: konnte nicht bauen, Juwel nativen Erweiterung Bcrypt-Ruby
Mache ich eine rails-app, und nur ein Upgrade auf Yosemite, und ich denke, alles brach während das update. Alles lief Letzte Nacht, als ich checkte alle meine code auf github. Ich aktualisierte mein computer Letzte Nacht zum Yosemite. Heute lief ich gem install bcrypt-ruby
und alles brach. Ich habe;
- lief
xcodebuild -license
- aktualisiert bundler
- lief
brew install rbenv ruby-build rbenv-gem-rehash
erhalten Sie die neuesten ruby - lief
brew install coreutils
Das hat nicht funktioniert obwohl.
Umgebung: OSX Yosemite 10.10, rbenv 0.4.0, ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0], brew 0.9.5`
Die Quelle der Fehler ist aus meiner rails-app:
gemfile
gem 'rails', '4.1.5'
gem 'pg'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
gem 'bcrypt-ruby'
group :test, :development do
gem 'rspec-rails', "~> 2.14"
end
group :test do
gem 'capybara', "2.1.0"
gem 'factory_girl_rails', '~> 4.2.1'
end
Bekam ich die Fehlermeldung, wenn ich lief bundle install
. Hier ist der volle stack-trace (alle /users//
ist von der Entnahme der name 😉
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users//.rbenv/versions/2.0.0-p247/bin/ruby -r ./siteconf20141027-60319-1lss4fm.rb extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling bcrypt_ext.c
couldn't understand kern.osversion `14.0.0'
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:51:21: error: string.h: No such file or directory
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:61:21: error: stdint.h: No such file or directory
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:64:23: error: inttypes.h: No such file or directory
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:68:19: error: stdio.h: No such file or directory
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:70,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/defines.h:29:21: error: stdlib.h: No such file or directory
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:194,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/limits.h:10:25: error: limits.h: No such file or directory
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:1567,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/missing.h:23:45: error: math.h: No such file or directory
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:1568,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:36:23: error: sys/types.h: No such file or directory
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:40:22: error: sys/time.h: No such file or directory
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:43,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:1568,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/st.h:140: error: expected declaration specifiers or ‘...’ before ‘uint32_t’
In file included from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/ruby.h:1568,
from /Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby.h:33,
from bcrypt_ext.c:1:
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:326: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rb_fdset_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:416: error: expected declaration specifiers or ‘...’ before ‘fd_set’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:416: error: expected declaration specifiers or ‘...’ before ‘fd_set’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:416: error: expected declaration specifiers or ‘...’ before ‘fd_set’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:416: warning: ‘struct timeval’ declared inside parameter list
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:416: warning: its scope is only this definition or declaration, which is probably not what you want
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:417: error: expected declaration specifiers or ‘...’ before ‘rb_fdset_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:417: error: expected declaration specifiers or ‘...’ before ‘rb_fdset_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:417: error: expected declaration specifiers or ‘...’ before ‘rb_fdset_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:417: warning: ‘struct timeval’ declared inside parameter list
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:418: warning: ‘struct timeval’ declared inside parameter list
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:514: error: expected declaration specifiers or ‘...’ before ‘mode_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:593: error: expected declaration specifiers or ‘...’ before ‘pid_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:607: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rb_fork’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:608: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rb_fork_err’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:610: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rb_waitpid’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:611: error: expected ‘)’ before ‘pid’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:612: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rb_spawn’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:613: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rb_spawn_err’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:615: error: expected ‘)’ before ‘pid’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:728: error: expected declaration specifiers or ‘...’ before ‘uint32_t’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:851: error: expected ‘)’ before ‘long’
/Users//.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/ruby/intern.h:852: error: expected ‘)’ before ‘long’
bcrypt_ext.c: In function ‘bc_salt’:
bcrypt_ext.c:21: warning: incompatible implicit declaration of built-in function ‘strlen’
make: *** [bcrypt_ext.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users//ticket_tracker/vendor/bundle/gems/bcrypt-3.1.9 for inspection.
Results logged to /Users//ticket_tracker/vendor/bundle/extensions/x86_64-darwin-12/2.0.0-static/bcrypt-3.1.9/gem_make.out
An error occurred while installing bcrypt (3.1.9), and Bundler cannot continue.
Make sure that `gem install bcrypt -v '3.1.9'` succeeds before bundling.
Wenn jemand schon einige Erfahrung aktualisiert OSX, Rbenv, Ruby etc und kann mir ein paar Tipps, das wäre sehr geschätzt. Ich kann auch mehr posten die code-Umgebung einrichten, wenn nötig.
InformationsquelleAutor user3749994 | 2014-10-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem, das ich gelöst durch re-Installation der XCode command line developer tools :
xcode -license
. Danke für die Aufklärung.Es scheint, wie jede neue Installation oder das update von xcode erfordert das installieren der Befehlszeilen-tools.
Etwas anders nehmen, ich hatte den gleichen Fehler, versucht xcodebuild -Lizenz und bekam eine Fehlermeldung, die sagen müssen, verwenden Sie sudo, also 'sudo xcodebuild -Lizenz' und es funktionierte. Ich bin noch auf Mavericks, aber habe Yosemite heruntergeladen zu installieren, so nicht sicher, ob das Auswirkungen auf die Dinge.
Immer ein popup, dass sagt
Can't install the software because it is not currently available from the Software Update server.
. Irgendeine Idee, wenn das ist eine vorübergehende Sache?Ich bin mit Ubuntu 14.04 und dem gleichen Problem zu mir kommen? bitte helfen Sie.
InformationsquelleAutor alotofnoodles
Nur eine Kombination von Maßnahmen hat mir geholfen, das Problem zu lösen.
Hier ist meine Reihenfolge
1)
2)
3) Wechselte von ruby 2.1.4 2.1.5
4) (optional) wenn Sie hatte Problem mit der Installation von nokogiri
InformationsquelleAutor Serge Seletskyy
Nach dem Upgrade auf OS X Yosemite und versuchen, einige rails-apps stieß ich auf einige andere Probleme;
Aufgrund einiger apple-Wahnsinn nach der Installation von Xcode gcc nicht kompilieren von Programmen wie jede andere gcc-compiler - stattdessen fragt er Sie Lesen und Stimmen Sie der Lizenz - Vereinbarung, die eine blutige Wange, wenn man bedenkt es ist gcc. Versuchen
dann durch die Seite Lizenz-Mist und der Typ Stimmen am Ende dann handeln sollte, wie eine normale gcc compiler.
Jedoch, dass noch nicht arbeiten kann wie mit der mitgelieferten gcc-version (4.2.1) ist zu alt für libv8 (4.4 erforderlich war), so dass stattdessen müssen Sie installieren eine neuere version von gcc mit macports. Besuchen Sie http://www.macports.org/install.php. Einmal macports installiert ist, geben Sie
und Sie sollten sehen
als der 3/2/2015 gcc4.8 hat 4 bug-fix-releases und gcc4.9 hat 2, also nehmen Sie Ihre pick.
Nun, dass Sie eine mehr up-to-date gcc-compiler die nächste Hürde ist immer therubyracer zu bauen. Gcc4.8 auf darwin nicht anerkennt -rdynamic-option, so therubyracer nicht bauen.
Habe ich Gabel therubyracer und modifiziert extconf.rb an stellen die compiler-Optionen - Sie können es von github. Dazu wechselt Ihr Gemfile wie so
InformationsquelleAutor Damian Hamill
Ich bin mit Ruby-v 2.2.2, dies hat mir geholfen, wenn ich diesen FEHLER erhalten:
Gem::Ext::BuildError: FEHLER: konnte nicht bauen, Juwel nativen Erweiterung Bcrypt-Ruby
Wenn xcode-select --install fehlschlägt, stellen Sie sicher, dass Sie akzeptiert haben, die Lizenz
InformationsquelleAutor Frank Avila
Wenn es jemanden gibt, den es noch zu kämpfen und es nicht offensichtlich ist, würde ich empfehlen, dass Sie installieren Sie XCode. Ich habe getan, zwei OSX 10.10 upgrades und Sie beide erforderlich, XCode, dieses Problem zu lösen.
InformationsquelleAutor Scott Harrington