2013-02-14 58 views
0

这里的RHEL 5.8安装mysql2宝石是我的筹码:未能通过打捆

  • RHEL 5.8 x86_64的
  • 的MySQL 5.5 x86_64的
  • 红宝石1.9.3p345
  • 的Rails 3.2.8

我正在通过bundler安装mysql2 0.3.11 gem并得到了错误,而且问题似乎与Ruby gem mysql2 install failing的流行错误不一样d mysql2 gem installation fails。这些是我已经为mysql安装的软件包。

[[email protected] config]$ yum list installed | grep MySQL 
Unable to read consumer identity 
MySQL-client.x86_64     5.5.29-1.rhel5     installed 
MySQL-devel.x86_64     5.5.29-1.rhel5     installed 
MySQL-python.x86_64     1.2.3-0.1.c1.el5     installed 
MySQL-server.x86_64     5.5.29-1.rhel5     installed 
perl-DBD-MySQL.x86_64     3.0007-2.el5      installed 
[[email protected] config]$ yum list installed | grep mysql 
Unable to read consumer identity 
libdbi-dbd-mysql.x86_64    0.8.1a-1.2.2      installed 

错误消息如下:

Installing mysql2 (0.3.11) with native extensions 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 
/home/user/.rvm/rubies/ruby-1.9.3-p385/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 result.c 
In file included from ./mysql2_ext.h:39, 
      from result.c:1: 
./client.h:42:7: warning: no newline at end of file 
compiling mysql2_ext.c 
In file included from ./mysql2_ext.h:39, 
      from mysql2_ext.c:1: 
./client.h:42:7: warning: no newline at end of file 
compiling client.c 
In file included from ./mysql2_ext.h:39, 
      from client.c:1: 
./client.h:42:7: warning: no newline at end of file 
client.c: In function a€?rb_raise_mysql2_errora€?: 
client.c:98: warning: ISO C90 forbids mixed declarations and code 
client.c: In function a€?rb_mysql_client_socketa€?: 
client.c:590: warning: ISO C90 forbids mixed declarations and code 
linking shared-object mysql2/mysql2.so 
/usr/bin/ld: cannot find -lmysqlclient_r 
collect2: ld returned 1 exit status 
make: *** [mysql2.so] Error 1 


Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.3-p385/gems/mysql2-0.3.11 for inspection. 
Results logged to /home/user/.rvm/gems/ruby-1.9.3-p385/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 
An error occurred while installing mysql2 (0.3.11), and Bundler cannot continue. 
Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling. 
+1

你已经安装了mysqlclient库? – PinnyM 2013-02-14 15:44:06

+0

@PinnyM我确实安装了MySQL客户端,但不知道mysqlclient_r是否存在... – Xiaoli 2013-02-14 16:09:47

+0

好吧,仍然没有答案...虽然我从源代码重新安装了MySQL并且错误消失了... – Xiaoli 2013-02-18 03:37:50

回答

0

尝试使用

bundle config build.mysql2 --with-mysql-config=/.../mysql_config 

sudo gem install mysql2 -- --with-mysql-config=/.../mysql_config