2011-06-21 9 views
0

MySQLの宝石のインストールに間違いがあります。 5.0.xxから5.1.39へのMySQLのアップデートのために私はmysql gemをアンインストールしましたが、今は正しくインストールできません。MySQLの宝石のインストールに関する問題

プロキシの背後にあるので、私はmysql-2.8.1.gemをサーバにダウンロードしました。私は、このエラーを取り除くためにmysql_configをインクルードする必要があると言われていますが、そこから助けは得られません。

OSはRed Hat Enterprise Linuxサーバーリリース5.3(Tikanga)です。

[[email protected] ~]$ sudo gem install mysql-2.8.1.gem --no-rdoc --no-ri -- --with-mysql-config=/usr/bin/mysql_config 
Building native extensions. This could take a while... 
ERROR: Error installing mysql-2.8.1.gem: 
    ERROR: Failed to build gem native extension. 

/usr/local/bin/ruby extconf.rb --with-mysql-config=/usr/bin/mysql_config 
checking for mysql_ssl_set()... no 
checking for rb_str_set_len()... no 
checking for rb_thread_start_timer()... no 
checking for mysql.h... yes 
creating Makefile 

make 
gcc -I. -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DHAVE_MYSQL_H -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -DUNIV_LINUX -DUNIV_LINUX -fPIC -g -O2 -c mysql.c 
gcc -shared -o mysql_api.so mysql.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L. -rdynamic -Wl,-export-dynamic -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto -lrt -ldl -lcrypt -lm -lc 
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient 
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient 
/usr/bin/ld: cannot find -lmysqlclient 
collect2: ld returned 1 exit status 
make: *** [mysql_api.so] Error 1 


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. 
Results logged to /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 

お勧めはありますか?

+0

エラーメッセージと同じエラーメッセージが表示されました。何が起きているのか分かりません。 – Pok

答えて

0

エラーからは、お使いのMySQLのバージョンが使用している宝石のバージョンと互換性がないように見えます。あなたがインストールされている複数のMySQLバージョンを持っている場合は

/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient 
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient 
/usr/bin/ld: cannot find -lmysqlclient 

、多分宝石は、古いバージョンで拾っています。 MySQLのバージョンが必要なバージョンのMySQL gemのドキュメントを確認してください。

0

mysql2 gemを使用することをお勧めします。 ruby 1.8シリーズを使用している場合は、gemバージョン0.2.11または0.2.13を使用するか、またはruby 1.9シリーズを使用する場合はgemバージョン0.3.7をお勧めします。 0.3.Xは何らかの理由でRuby 1.8で動作しません。

これは魅力的に機能するはずです。 :)

関連する問題