Перепробовал много предложений, как мне установить mysql2 gem? - PullRequest
2 голосов
/ 20 декабря 2011

Я пытаюсь установить gem mysql2 на приложение ruby ​​on rails. В настоящее время я использую Ubuntu 11.04, и эта ошибка появляется при запуске sudo gem install mysql2 или bundle install:

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

/usr/bin/ruby1.8 extconf.rb
checking for rb_thread_blocking_region()... no
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. -I/usr/lib/ruby/1.8/x86_64-linux -I. -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H    -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing  -g -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -Wall -funroll-loops  -c client.c
gcc -I. -I. -I/usr/lib/ruby/1.8/x86_64-linux -I. -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H    -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing  -g -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -Wall -funroll-loops  -c mysql2_ext.c
./client.h:16:1: warning: ‘rb_thread_blocking_region’ defined but not used
gcc -I. -I. -I/usr/lib/ruby/1.8/x86_64-linux -I. -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H    -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing  -g -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -Wall -funroll-loops  -c result.c
gcc -shared -o mysql2.so client.o mysql2_ext.o result.o -L. -L/usr/lib -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/lib/x86_64-linux-gnu    -lruby1.8 -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -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 /var/lib/gems/1.8/gems/mysql2-0.3.11 for inspection.
Results logged to /var/lib/gems/1.8/gems/mysql2-0.3.11/ext/mysql2/gem_make.out

Я попытался установить с помощью mysql_config, я установил библиотеки libmysqlclient-dev и libmysql-ruby, я попытался удалить и переустановить mysql. Ничего из этого не работает. Я могу успешно установить mysql gem, но не mysql2.

Я использую ruby1.8 и Rails 2.3.5. Кто-нибудь может мне помочь?

Ответы [ 3 ]

4 голосов
/ 16 января 2013

попробуйте это:

sudo apt-get install libmysql-ruby

sudo apt-get install libmysqlclient-dev

sudo gem install mysql2

1 голос
/ 15 октября 2013

Если вы используете CentOS / Redhat, попробуйте установить следующие пакеты (используя yum):

MySQL-devel-5.5.22-1.el6.x86_64
MySQL-shared-5.5.22-1.el6.x86_64
MySQL-shared-compat-5.5.22-2.el6.x86_64
1 голос
/ 21 декабря 2011

Посмотрите на этот блог и другие подобные. Но в конечном итоге я рекомендую перейти с 11.04 на 11.10. Я испытал много странных ошибок при запуске 11.04, так как при переходе на 11.10 все намного стабильнее.

...