[英]gem mysql2 segmentation fault on Win7x64, Ruby 2.0, MySQL 5.6
[英]mysql2 gem installation failes on CentOS 6.4 x64 with MySQL 5.6
尝试在安装了rpm的MySQL 5.6的CentOS 6.4 x64上安装mysql2 gem。
得到这个:
Installing mysql2 (0.3.11)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/rbenv/versions/1.9.3-p448/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 mysql2_ext.c
compiling result.c
compiling client.c
client.c: In function Б─≤rb_raise_mysql2_errorБ─≥:
client.c:98: warning: ISO C90 forbids mixed declarations and code
client.c: In function Б─≤rb_mysql_client_socketБ─≥:
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 /usr/local/rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11 for inspection.
Results logged to /usr/local/rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/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.
编辑:
ldconfig -p的响应| grep MySQL的
libmysqlclient_r.so.16 (libc6,x86-64) => /usr/lib64/libmysqlclient_r.so.16
libmysqlclient_r.so.15 (libc6,x86-64) => /usr/lib64/libmysqlclient_r.so.15
libmysqlclient_r.so.14 (libc6,x86-64) => /usr/lib64/libmysqlclient_r.so.14
libmysqlclient_r.so.12 (libc6,x86-64) => /usr/lib64/libmysqlclient_r.so.12
libmysqlclient.so.16 (libc6,x86-64) => /usr/lib64/libmysqlclient.so.16
libmysqlclient.so.15 (libc6,x86-64) => /usr/lib64/libmysqlclient.so.15
libmysqlclient.so.14 (libc6,x86-64) => /usr/lib64/libmysqlclient.so.14
libmysqlclient.so.12 (libc6,x86-64) => /usr/lib64/libmysqlclient.so.12
在做任何事情之前,我建议尝试一下:
sudo yum install mysql-devel
似乎找不到libmysql_r.so。 由于未正确配置,因此未安装或系统找不到它。 您可以列出已安装的MySQL软件包吗? 您可以在系统上找到libmysqlclient_r.so吗? 您能给我们ldconfig -p|grep mysql
的输出吗?
如果没有libmysqlclient_r.so文件,则可能没有安装MySQL客户端软件包。 如果安装了正确的软件包,则可以找到libmysqlclient_r.so,但它不会出现在ldconfig -p
的输出中,您可以通过运行ldconfig -v
来更新ldconfig缓存。 它应该拿起图书馆。 然后尝试再次安装gem。
我也遇到了同样的问题,我通过rpm -ivh MySQL-shared-5.6.30-1.el6.x86_64.rpm
解决了这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.