Я пытаюсь установить 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 не годится, по крайней мере, не во всех случаях.