Проблема установки MySQL Gem - PullRequest
1 голос
/ 21 июня 2011

Я немного запутался, имея ошибку при установке MySQL gem.Я удалил mysql gem из-за обновления MySQL с 5.0.xx до 5.1.39 и теперь не могу установить его должным образом.

Я скачал mysql-2.8.1.gem на сервер, потому что онза прокси.У меня есть много руководств, в которых сказано, что я должен включить mysql_config, чтобы избавиться от этой ошибки, но от этого нет никакой помощи.

ОС - Red Hat Enterprise Linux Server версии 5.3 (Tikanga).

[my@server ~]$ sudo gem install mysql-2.8.1.gem --no-rdoc --no-ri -- --with-mysql-config=/usr/bin/mysql_config
Building native extensions.  This could take a while...
ERROR:  Error installing mysql-2.8.1.gem:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb --with-mysql-config=/usr/bin/mysql_config
checking for mysql_ssl_set()... no
checking for rb_str_set_len()... no
checking for rb_thread_start_timer()... no
checking for mysql.h... yes
creating Makefile

make
gcc -I. -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DHAVE_MYSQL_H    -I/usr/include/mysql  -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC   -DUNIV_LINUX -DUNIV_LINUX -fPIC -g -O2   -c mysql.c
gcc -shared -o mysql_api.so mysql.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto  -lrt -ldl -lcrypt -lm   -lc
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make: *** [mysql_api.so] Error 1


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 13 октября 2011

По ошибке это выглядит так, как будто ваша версия MySQL не совместима с версией используемого вами гема.

/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient 
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient 
/usr/bin/ld: cannot find -lmysqlclient 

Если у вас установлено несколько версий MySQL, возможно, гем забираетна более старой версии.Вы должны проверить в документации по MySQL gem версию, которую вы используете, для которой требуется версия MySQL.

0 голосов
/ 13 октября 2011

Я бы порекомендовал вам использовать драгоценный камень mysql2.Если вы используете ruby ​​1.8 series, вы должны использовать gem версии 0.2.11 или 0.2.13 или, если вы используете ruby ​​1.9 series, я бы порекомендовал gem версии 0.3.7.0.3.X почему-то не работает на ruby ​​1.8.

Это должно работать как шарм.:)

...