Here is my stack:
- RHEL 5.8 x86_64
- MySQL 5.5 x86_64
- Ruby 1.9.3p345
- Rails 3.2.8
I am installing mysql2 0.3.11 gem through bundler and got the error, and the problem seems not to be the same with the popular errors at Ruby gem mysql2 install failing and mysql2 gem installation fails. These are the packages I've already installed for mysql.
[user@local 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
[user@local config]$ yum list installed | grep mysql
Unable to read consumer identity
libdbi-dbd-mysql.x86_64 0.8.1a-1.2.2 installed
The error message is as follows:
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.