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

Невозможно скомпилировать CentOS 5, Ruby 1.9.2 и OpenSSL 1.0.0c

Я пытаюсь установить Ruby 1.9.2 на CentOS 5.5. Я выполняю большую часть процесса make, но когда он пытается скомпилировать OpenSSL, я получаю сообщение об ошибке. Ниже выводится ошибка:

compiling openssl
make[1]: Entering directory `/sources/ruby-1.9.2-p136/ext/openssl'
gcc -I. -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"    -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long  -o ossl_x509.o -c ossl_x509.c
In file included from ossl.h:201,
                 from ossl_x509.c:11:
openssl_missing.h:71: error: conflicting types for ‘HMAC_CTX_copy’
/usr/include/openssl/hmac.h:102: error: previous declaration of ‘HMAC_CTX_copy’ was here
openssl_missing.h:95: error: conflicting types for ‘EVP_CIPHER_CTX_copy’
/usr/include/openssl/evp.h:459: error: previous declaration of ‘EVP_CIPHER_CTX_copy’ was here
make[1]: *** [ossl_x509.o] Error 1
make[1]: Leaving directory `/sources/ruby-1.9.2-p136/ext/openssl'
make: *** [mkmain.sh] Error 1

Любая помощь будет принята с благодарностью! Я ни в коем случае не являюсь мастером Linux, но мне удалось успешно установить эту версию Ruby на нашем сервере разработки. На нашем сервере работает более новая версия OpenSSL, поэтому я предполагаю, что она ломается. Просто не уверен, что это за исправление!

Я немного погуглил и нашел сообщение в блоге на Установка Ruby 1.9 на CentOS. Я установил Ruby через исходный код на CentOS только один или два раза, и это было больше года назад, но я настоятельно рекомендую сначала сделать все, что вы можете, с помощью диспетчера пакетов CentOS (yum) - например, установить openssl и openssl-devel с помощью ням, вот так:

yum install openssl openssl-devel

Надеюсь, это поможет, Дэвид