Назад | Перейти на главную страницу

Установка Mysql Ruby gem на 64-битную CentOS

У меня проблема с установкой mysql ruby ​​gem на 64-битную машину CentOS.

[jacekb@vitaidealn ~]$ uname -a
Linux vitaidealn.local 2.6.18-92.el5 #1 SMP Tue Jun 10 18:51:06 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

Установлены пакеты mysql и mysql-devel. Mysql_config предоставляет следующие пути:

Usage: /usr/lib64/mysql/mysql_config [OPTIONS]
Options:
    --cflags         [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv]
    --include        [-I/usr/include/mysql]
    --libs           [-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto]
    --libs_r         [-L/usr/lib64/mysql -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib64 -lssl -lcrypto]
    --socket         [/var/lib/mysql/mysql.sock]
    --port           [3306]
    --version        [5.0.45]
    --libmysqld-libs [-L/usr/lib64/mysql -lmysqld -lz -lpthread -lcrypt -lnsl -lm -lpthread -lrt -L/usr/lib64 -lssl -lcrypto]

Пытаюсь установить:

[jacekb@vitaidealn ~]$ gem install mysql -- --with-mysql-include=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql
...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb --with-mysql-include=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql
    checking for mysql_query() in -lmysqlclient... no
    checking for main() in -lm... no
    checking for mysql_query() in -lmysqlclient... no
    checking for main() in -lz... no
    checking for mysql_query() in -lmysqlclient... no
    checking for main() in -lsocket... no
    checking for mysql_query() in -lmysqlclient... no
    checking for main() in -lnsl... no
    checking for mysql_query() in -lmysqlclient... no
    *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.

Буду признателен за любую помощь. Спасибо за прочтение :).

Думаю, вам нужен пакет devel для mysql-client. Попробуйте установить его с помощью:

yum install mysql-devel

Я написал Сообщение блога об этом давно. Извините за засорение ;-)

Ответ - бежать

gem install mysql -- --with-mysql-conf=/usr/bin/mysql --with-mysql-lib=/usr/lib/mysql

Очевидно, вам придется использовать путь lib64. Может, это тебе тоже поможет.

Возможно, вы захотите узнать, что в EPEL есть пакет ruby-mysql. Было бы интересно посмотреть на это :)

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

1. yum uninstall mysql
2. yum install mysql
3. yum install mysql-devel (to install development libraries, For Debian, Knoppix, Buildix user apt-get install libmysqlclient15-dev)
4. gem install mysql

По моему сценарию это сработало

sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Я столкнулся с той же проблемой, что вы описали. Удалось исправить это, выполнив следующие действия (конечно, как root):

cd /usr/lib64
ln -nfs /usr/lib64/mysql/libmysqlclient.so.15 libmysqlclient.so
ldconfig

После этого я смог просто запустить gem install mysql и все это просто сработало.

Надеюсь это поможет!