Ruby - Gem - mysql - Fehler beim erstellen gem native Erweiterung
seit zwei Tagen bin ich vor einem problem das ich nicht lösen kann. Ich bin versucht zu installieren redmine auf einem debian-Rechner. Wenn es um die installation für das gem mysql scheitert es. Ich weiß nicht mehr was tun. Meine Letzte Instanz ist Ihre Hilfe.
Fehler
root@host:~# gem1.8 installieren Sie mysql Building native extensions. Dies könnte eine Weile dauern... FEHLER: Fehler bei der Installation von mysql: FEHLER: konnte nicht bauen, Juwel nativen Erweiterung. /usr/bin/ruby1.8 extconf.rb die Prüfung für mysql_ssl_set()... Nein die Prüfung für rb_str_set_len()... Nein die Prüfung für rb_thread_start_timer()... Nein Prüfung für mysql.h... Nein Prüfung für mysql/mysql.h... Nein *** extconf.rb schei *** Konnte nicht erstellt Makefile aus irgendeinem Grund, wahrscheinlich fehlen Bibliotheken und/oder Header. Überprüfen Sie die mkmf.log-Datei für mehr details. Möglicherweise müssen Sie Konfigurationsoptionen. Sofern Konfigurationsoptionen: --with-opt-dir --ohne-opt-dir --with-opt-include --ohne-opt-include=${opt-dir}/include --with-opt-lib --ohne-opt-lib=${opt-dir}/lib --mit-machen-prog --ohne-make-prog --srcdir=. --curdir - ruby=/usr/bin/ruby1.8 --with-mysql-config --without-mysql-config Gem-Dateien bleiben installiert in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 für die Inspektion. Ergebnisse protokolliert, um /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.aus
, Was ich versucht habe
- Der Installation von Paketen-Anleitung: http://wiki.rubyonrails.org/database-support/mysql#linux_ubuntu
- Installation mit mysql_config parameter
root@host:~# find /-name mysql_config
/usr/bin/mysql_config
root@host:~# gem1.8 install mysql -- --with-mysql-config=/usr/bin/mysql_config
- System
user@host:~# uname -a
Linux www.example.org 2.6.18-028stab070.4 #1 SMP Tue Aug 17 18:32:47 MSD 2010 x86_64 GNU/Linux
root@s15428277:~# aptitude search '~i (mysql|ruby)|mysql.*dev' ich Ein libdbd-mysql-perl - Eine Perl5-Datenbank-Schnittstelle zur MySQL-Datenbank p libghc6-hsql-mysql-dev - Multi-Datenbank-System-Interface für Haskell p libgnademysql-dev - GNat Ada Database Environment - MySQL programming interface p liblua5.1-sql-mysql-dev - luasql development files for the lua language version 5.1 ich libmysql++-dev - mysql C++ library bindings (development) ich Eine libmysql++2c2a - mysql C++ library bindings (Laufzeit) p libmysql-ocaml-dev - OCaml-Bindungen für MySql v libmysqlclient-dev - ich libmysqlclient15-dev - MySQL-Datenbank-Entwicklung-Dateien ich Ein libmysqlclient15off MySQL-Datenbank client-Bibliothek ich libopenssl-ruby1.8 - OpenSSL-Schnittstelle für Ruby 1.8 ich Ein libreadline-ruby1.8 - Readline-Schnittstelle für Ruby 1.8 ich Ein libruby1.8 - Bibliotheken welche zum ausführen von Ruby 1.8 ich libsqlite3-ruby1.8 - SQLite3-Schnittstelle für Ruby 1.8 ich habe Einen mysql-client-5.0 MySQL database client binaries ich habe Eine mysql-common - MySQL-Datenbank-gemeinsame Dateien ich mysql-server - MySQL-Datenbank-server (Metapaket, abhängig von der neuesten version) ich habe Eine mysql-server-5.0 - MySQL database server binaries ich ruby1.8 - Interpreter für die objektorientierte Skriptsprache Ruby 1.8 ich ruby1.8-dev - Header-Dateien für die Kompilierung von Erweiterungsmodulen für Ruby 1.8
root@host:~# gem1.8 --version 1.3.7 root@host:~# ruby1.8 --version ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
Dateien
mkmf.melden Sie
have_func: Prüfung für mysql_ssl_set()... -------------------- keine "cc -o conftest -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -L. -L/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib/mysql -lmysqlclient -lruby1.8-static-L/usr/lib/mysql -lmysqlclient -lpthread -ldl -lcrypt -lm -Lz" überprüft das Programm war: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { void ((*volatile p)()); p = (void ((*)()))mysql_ssl_set; return 0; } /* Ende */ "cc -o conftest -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -L. -L/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib/mysql -lmysqlclient -lruby1.8-static-L/usr/lib/mysql -lmysqlclient -lpthread -ldl -lcrypt -lm -Lz" überprüft das Programm war: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { mysql_ssl_set(); return 0; } /* Ende */ -------------------- have_func: Prüfung für rb_str_set_len()... -------------------- keine "cc -o conftest -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -L. -L/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib/mysql -lmysqlclient -lruby1.8-static-L/usr/lib/mysql -lmysqlclient -lpthread -ldl -lcrypt -lm -Lz" überprüft das Programm war: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { void ((*volatile p)()); p = (void ((*)()))rb_str_set_len; return 0; } /* Ende */ "cc -o conftest -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -L. -L/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib/mysql -lmysqlclient -lruby1.8-static-L/usr/lib/mysql -lmysqlclient -lpthread -ldl -lcrypt -lm -Lz" überprüft das Programm war: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { rb_str_set_len(); return 0; } /* Ende */ -------------------- have_func: Prüfung für rb_thread_start_timer()... -------------------- keine "cc -o conftest -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -L. -L/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib/mysql -lmysqlclient -lruby1.8-static-L/usr/lib/mysql -lmysqlclient -lpthread -ldl -lcrypt -lm -Lz" überprüft das Programm war: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { void ((*volatile p)()); p = (void ((*)()))rb_thread_start_timer; return 0; } /* Ende */ "cc -o conftest -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -L. -L/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib/mysql -lmysqlclient -lruby1.8-static-L/usr/lib/mysql -lmysqlclient -lpthread -ldl -lcrypt -lm -Lz" überprüft das Programm war: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { rb_thread_start_timer(); return 0; } /* Ende */ -------------------- have_header: Prüfung für mysql.h... -------------------- keine "cc -E -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -o conftest.ich" überprüft das Programm war: /* begin */ 1: #include /* Ende */ -------------------- have_header: Prüfung für mysql/mysql.h... -------------------- keine "cc -E -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC-conftest.c -o conftest.ich" überprüft das Programm war: /* begin */ 1: #include /* Ende */ --------------------
- aktualisiert ruby
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
- Ich hatte das gleiche problem, bei mir war die Lösung, gcc zu installieren. Wäre schön gewesen, wenn die Fehlermeldung sagte etwas über, dass. naja.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es aussieht sind Sie auf dem richtigen Weg. Obwohl Sie scheinen zu haben, die mysql-Bibliotheken installiert, die Sie benötigen, um sicherzustellen, dass der MySQL-Entwicklungs-header-Dateien und Ihre Abhängigkeiten sind vollständig installiert werden, um für die MySQL-gem erstellt werden.
Versuchen:
Dann:
Klar, der genaue Befehl hängt davon ab, wo die mysql-dev-Dateien installiert sind.
gem install mysql
mit der mysql-config nicht funktionierte.ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
es funktioniert immer noch nicht.sudo apt-get install libmysqlclient-dev
eher alsmysql-dev
war, aber das war wirklich hilfreich!!!Ich hatte das gleiche problem.
Die Lösung für mich war die install ruby-dev.
Vielleicht hilft es jemand anderem, ich sehe, du hast schon gelöst dein porblem.