Установка ruby ​​mysql gem с сервером percona - PullRequest
1 голос
/ 23 июня 2011

Новая установка Cent OS 5.4; чистая установка сервера Percona xtradb (Версия сервера: 5.1.56-rel12.7 Percona Server (GPL), 12.7, Revision 224) Ошибка установки gem mysql с выводом

/usr/local/rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... yes
checking for mysql_ssl_set()... yes
checking for rb_str_set_len()... yes
checking for rb_thread_start_timer()... no
checking for mysql.h... no
checking for mysql/mysql.h... no
*** extconf.rb failed ***

, который указывает, что он не может найти библиотеки dev. Я знаю, что обычно использую дополнительные опции --with-mysql-lib = ... но я не верю, что они установлены как часть обычной установки percona, описанной здесь: информация о репозиториях percona

Итак, я попытался выполнить yum install mysql-devel, но получил конфликт с percona. Я нашел этот пост , где в предложенном решении использовалась опция --with-mysql-config. Percona не устанавливает автоматически my.cnf в /etc/my.cnf после установки, поэтому я выбрал его и поместил туда, потому что именно там его проверяет скрипт init.d для mysql. Перезапустил mysql, подтвердил, что сейчас загружает эту конфигурацию, и снова попытался установить, но все равно не смог с

"Exec format error - /etc/my.cnf --cflags (Errno::ENOEXEC)"

Спасибо за любую помощь

Я также выполнил поиск / -name mysql.h и ничего, так что похоже, что необходимые библиотеки отсутствуют после установки как сервера percona, так и клиента с yum

Ответы [ 4 ]

4 голосов
/ 05 марта 2012

Если вы правильно добавили Percona yum репозиторий , вам просто нужно установить пакет Percona-Server-devel:

yum install Percona-Server-devel-55

Замените 55 на версию Percona Server, которую вы используете в настоящее время.

После этого самоцветы mysql будут установлены правильно.

0 голосов
/ 19 августа 2016

Для любых новых людей, пытающихся установить этот гем (этот вопрос часто встречается в поисковиках), убедитесь, что вы передаете каталог mysql, например:

 gem install mysql2 -- --with-mysql-dir=/usr/local/mysql
0 голосов
/ 13 июля 2014

После тревожных часов, часов и многих часов:

Найдено следующее для установки mysql gem с percona 5.6:

http://www.percona.com/doc/percona-server/5.6/release-notes/Percona-Server-5.6.16-64.1.html

gem uninstall mysql

apt-get удалить mysql-server mysql-server-5.5 mysql-client mysql-client-5.5 mysql-client-core-5.5 mysql-server-core-5.5 mysql-common libmysqlclient18: i386 libmysqlclient18: amd64

apt-get install percona-server-server-5.6 percona-server-client-5.6

cd / usr / lib / x86_64-linux-gnu

mv libmysqlclient.so.18.0.0 libmysqlclient.so.18.0.0-backup

ln -s libperconaserverclient.so.18.1.0 libmysqlclient.so.18.0.0

rm -rf /home/slat/.rvm/gems/ruby-XXXXX/gems/mysql*

gem install mysql

ИИХАА - это работает!

0 голосов
/ 05 августа 2011

Я переустановил libmysqlclient-dev из Percona.

И затем переустановил mysql & mysql2 gems.

...