mysql2 gem Can ' T build native extensions
Unsere Praktikantin der computer Probleme bei der Installation der mysql2 gem. Wir haben gerade ein Upgrade seiner computer ab OS X 10.6 auf 10.8 (Mountain Lion). Ich habe versucht, die Installation von mysql durch homebrew und durch die 64-bit-DMG-installer. Ich habe auch versucht, ein Symlink auf die dev-tools (wie schon hier: Nicht in der Lage zu installieren, einige Edelsteine nach mountain lion upgrade). Wir haben Xcode (4.4) installiert, und die Befehlszeilen-tools installiert. Wir haben versucht, ein Neustart nach der Installation der command line tools.
Dies ist sein WEG Erklärung von ~/.bashrc
:
PATH=/usr/local/bin:$PATH:$HOME/.rvm/bin:/usr/local/mysql/bin # Add RVM to PATH for scripting
Symlink:
Diego-Blantons-MacBook-Pro-3:~ lmrunner07$ sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
Password:
Versuchen zu installieren gem:
Diego-Blantons-MacBook-Pro-3:~ lmrunner07$ gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
creating Makefile
make
compiling client.c
In file included from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby.h:32,
from ./mysql2_ext.h:8,
from client.c:1:
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:105: error: size of array ‘ruby_check_sizeof_long’ is negative
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:109: error: size of array ‘ruby_check_sizeof_voidp’ is negative
In file included from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/intern.h:34,
from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:1382,
from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby.h:32,
from ./mysql2_ext.h:8,
from client.c:1:
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/st.h:67: error: size of array ‘st_check_for_sizeof_st_index_t’ is negative
client.c: In function ‘rb_raise_mysql2_error’:
client.c:98: warning: ISO C90 forbids mixed declarations and code
client.c: In function ‘rb_mysql_client_socket’:
client.c:590: warning: ISO C90 forbids mixed declarations and code
make: *** [client.o] Error 1
Gem files will remain installed in /Users/lmrunner07/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11 for inspection.
Results logged to /Users/lmrunner07/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/ext/mysql2/gem_make.out
Habe ich entfernt, den homebrew installiert mysql sowie die Start-agent. Auch rm -rf
die gem-directory (Benutzer/lmrunner07/.rvm/gems/ruby-1.9.3-p194/Edelsteine/mysql2-0.3.11)
- Können Sie überprüfen, ob Ihr XCode 4.4 version ist der re-release sowohl für Lion und Mountain Lion?
- Sorry, was möchtest du mich zu überprüfen?
- Wenn Mountain Lion veröffentlicht wurde, in dem Sie aktualisiert Xcode 4.4 im app store eine version, die kompatibel mit Lion und Mountain Lion. Wenn Sie nicht installieren Sie Xcode, ist es wahrscheinlich, dass Sie die version, die ist nur kompatibel mit früheren Versionen von OS X.
- Wir installierten Xcode nachdem wir installiert mountain lion
- Ich lief in das gleiche Problem. Ended up entfernen RVM (Vernichtung der ~/.rvm-Verzeichnis) und installieren RVM. Hat Super funktioniert nachdem die.
- Habe gerade versucht, die.
rvm implode
dann entfernt die~/.rvm
- Verzeichnis. Gleiche Sache. Danke für die Idee, obwohl
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich löste dies durch:
ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)
(überprüfen Sie Ihre website für die Verwendung http://mxcl.github.com/homebrew/)
brew install mysql
. (Ich habe versucht, die Installation von mysql, indem Sie diese Anweisungen befolgen, http://erictarn.com/post/28269453881/how-i-installed-mysql-rvm-ruby-and-rails-on-mountain aber ich lief in Probleme später, so würde ich empfehlen, die Neuinstallation von mysql mit homebrew.)Hinweis: Wenn ich versuchte, Sie zu bauen hatte ich ein library Problem
Library not loaded: libmysqlclient.18.dylib
, das konnte behoben werden, indem ausgeführtsudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
(siehe Bibliothek nicht geladen werden: libmysqlclient.16.dylib-Fehler beim ausführen "rails server" auf OS X 10.6 mit mysql2 gem wenn Sie erhalten die gleiche Ausgabe.)Haben Sie versucht:
Ersetzen Sie die
/usr/lib64/mysql/mysql_config
mit der Lage Ihrer mysql-config.gem install mysql2 -- --with-mysql-config=/usr/lib64/mysql/mysql_config
? (extra--
) Bekam das gleiche Ergebnis, obwohlLeider die install-Prozess ist sehr differenziert, und es ist schwierig zu isolieren, was dein problem sein könnte, ohne auf Ihre Schritte insgesamt.
Ohne zu wissen, mehr über Ihre Installation Schritte, hier sind ein paar Notizen, die ich gefolgt, die mich zu einem stabilen Schienen Mountain Lion "development box" (wieder, entschuldigt, dass dies nicht mehr spezifisch).
Anweisungen für die RVM Ruby: moncefbelyamani.com
Hinweis: Es waren sicherlich die Schritte, die ich nahm über Vorschläge von
brew doctor
und'rvm requirements'
ich noch NIE in vorherigen setups.Hinweise wie:
brew install autoconf automake apple-gcc42
brew tap homebrew/dupes
Rails-spezifische Anweisungen: railsapps.github.com
Hinweis: ich habe die optionale Schritt: ..., um die Verwendung von mysql-Befehle ohne geben Sie den vollständigen Pfad zu den Befehlen müssen Sie den mysql-Verzeichnis an Ihre Schale Weg... wie ich gefunden habe, die dabei helfen können, während des builds, etc (einige Skripte übernehmen...)
Hier, ich habe versucht, erstellen Sie einfach eine neue rails-app mit der Standard-Datenbank von mysql (der nach unten gebracht mysql2 via bundler). Von dort - ich habe versucht eine test-app mit einer schnell-Gerüst - und mysql2 barfed.
Von dort schlug ich einen Fehler 'Bibliothek nicht geladen werden: libmysqlclient.16.dylib " und wie hier angemerkt: stackoverflow awesomeness
Fügte ich diese Zeile in meiner .Profil:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
MEIN PFAD enthalten rails und ruby explizit:
/Users/gabriel/.rvm/gems/ruby-1.9.3-p194@rails327/bin:/Users/gabriel/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/gabriel/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/gabriel/.rvm/bin:/usr/local/mysql/bin:/usr/local/bin:/usr/bin:/usr/sbin:/opt/X11/bin:
Hoffentlich, diese Ressourcen bieten zusätzliche Hilfe.
Ich in der Lage war, es zu kompilieren mit:
PATH=/bin:/usr/bin:/opt/mysql5_64/bin gem install mysql2
Wo mysql5_64 ich heruntergeladen habe die neueste 64bit-version von mysql und extrahiert es. Aus meiner bereits installierten mysql-Datenbanken intakt.
Konnte ich dieses Problem beheben, indem
implode
-ing rvm und die Installation von Homebrew-ruby. Dann, das mysql2 gem installiert just fine.Dies ist nicht das erste problem, wie diese, die ich habe, laufen in mit rvm. Ich glaube nicht, ich werde wieder verwenden werden.
Hatte ich diese erfolgreich arbeiten auf OSX Yosemite: