2011-12-12 8 views
7

を絞り、Debianのスクイズでmysql2宝石をインストールしている間、私はこの「人気」エラーを得た:エラーが

gem install mysql2 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
    ERROR: Failed to build gem native extension. 

     /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
checking for rb_wait_for_single_fd()... no 
checking for mysql.h... yes 
checking for errmsg.h... yes 
checking for mysqld_error.h... yes 
creating Makefile 

make 
gcc -I. -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -Wall -funroll-loops -o client.o -c client.c 
gcc -I. -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -Wall -funroll-loops -o mysql2_ext.o -c mysql2_ext.c 
gcc -I. -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -Wall -funroll-loops -o result.o -c result.c 
result.c: In function ‘rb_mysql_result_fetch_fields’: 
result.c:381: warning: comparison between signed and unsigned integer expressions 
gcc -shared -o mysql2.so client.o mysql2_ext.o result.o -L. -L/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/lib -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -L/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -lruby -L/usr/lib -lmysqlclient_r -lpthread -lz -lm -lrt -lssl -lcrypto -ldl -lpthread -lrt -ldl -lcrypt -lm -lc 
/usr/bin/ld: cannot find -lmysqlclient_r 
collect2: ld returned 1 exit status 
make: *** [mysql2.so] Error 1 


Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.11 for inspection. 
Results logged to /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 

あり、検索結果の多くは、スタックオーバーフローであるが、それらのどれも私の問題を修正しないだろう。

libmysqlclient-dev - MySQL database development files 
libmysqlclient18 - MySQL database client library 

は、dot deb repo経由でインストールされます。

mysql-serverもインストールされています。 libmysqlclientのに関連

次のファイルは、USR/libに/で見つけることができ

/usr/lib/libmysqlclient.so.18 
/usr/lib/libmysqlclient_r 
/usr/lib/libmysqlclient.so 
/usr/lib/libmysqlclient.so.16.0.0 
/usr/lib/libmysqlclient.a 
/usr/lib/libmysqlclient_r.so.16 
/usr/lib/libmysqlclient.so.16 
/usr/lib/libmysqlclient.so.18.0.0 
/usr/lib/libmysqlclient_r.so.16.0.0 
+1

おそらく間違った場所に 'libmysqlclient'があります。あなたはこれをカスタマイズすることができますビルドの設定でいくつかの場所はありますか?また、ソースをどこからダウンロードしているのかを示すことができれば、エラーを再現できるかもしれません。 –

+0

'libmysqlclient-dev'に言及してくれてありがとう、私の問題を解決しました –

答えて

21

ネイティブ拡張に伴う問題は、彼らが一般的に発見されたヘッダファイルの欠如(.H) ようです-dev図書館で

sudo apt-get install libmysqlclient-dev 

gem install mysql2 

は、Debian/Ubuntuのための問題を解決します。

+0

+1感謝!それも私のために働く:) – SubniC