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

Ruby Install на CentOS

Я пытаюсь установить Ruby на 64-разрядную версию Centos-6.4 следующим образом:

mkdir /tmp/ruby && cd /tmp/ruby
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz
cd ruby-2.0.0-p247
./configure --disable-install-rdoc
make
sudo make install

Вовремя make, отображается следующая ошибка:

ossl_pkey_ec.c: In function ‘ossl_ec_group_initialize’:
ossl_pkey_ec.c:766: warning: implicit declaration of function ‘EC_GF2m_simple_method’
ossl_pkey_ec.c:766: warning: assignment makes pointer from integer without a cast
ossl_pkey_ec.c:821: error: ‘EC_GROUP_new_curve_GF2m’ undeclared (first use in this function)
ossl_pkey_ec.c:821: error: (Each undeclared identifier is reported only once
ossl_pkey_ec.c:821: error: for each function it appears in.)
make[2]: *** [ossl_pkey_ec.o] Error 1
make[2]: Leaving directory `/tmp/ruby/ruby-2.0.0-p247/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: Leaving directory `/tmp/ruby/ruby-2.0.0-p247'
make: *** [build-ext] Error 2

Я уже установил его на CentOS 6.5 без этой проблемы, мне он нужен сейчас на CentOS 6.4, и проблема, похоже, связана с OpenSSL.

Я думаю, вы столкнулись с ошибкой в ​​Ruby OpenSSL API, который есть в p247 и более ранних версиях. Хотя ссылки, которые я даю, относятся к Fedora, я думаю, что такая же проблема будет и с CentOS.

Попробуйте подать заявку этот патч перед постройкой. Больше информации Вот.

Скорее всего, вам понадобится системная библиотека и связанные заголовки из openssl-devel. Попробуй это:

yum install openssl-devel

И если вы каким-то образом хотите охватить все зависимости, это должно сработать:

yum install patch gcc-c++ make bzip2 autoconf automake libtool bison iconv-devel readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel

Тогда просто вернись в свой ruby-2.0.0-p247 каталог, сделайте make clean и попробуйте еще раз с нуля.

Еще больше подробностей о подводных камнях при установке Ruby в разных системах. можно найти здесь.

Проверить, если openssl-devel установлен. 90% проблем во время компиляции - это отсутствие пакетов разработчика.

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