2014-06-10 3 views
0

깨끗한 서버에 Ruby를 설치하려고합니다.RBEnv로 인해 Ruby 1.9.3-p194를 설치할 수 없습니다. SSL_OP_MSIE_SSLV2_RSA_PADDING이 선언되지 않았습니다.

서버 내가 데비안 7.5 내가 apt-get을 설치를 통해 구축 지원 RBEnv을 설치 한

로 업그레이드 데비안 6.0.9이었다.

Ruby 1.9.3-p194 (ruby-build --definitions를 통해 목록에 합산)를 설치하려고하면 설치에 실패했습니다. ,

make[2]: Entering directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194/ext/openssl' 
compiling ossl_pkey_rsa.c 
compiling ossl_asn1.c 
compiling callback-4.c 
compiling ossl_x509.c 
compiling ossl_pkcs5.c 
compiling ossl_x509crl.c 
compiling ossl_rand.c 
compiling ossl_pkey_dsa.c 
compiling ossl_x509cert.c 
compiling ossl_ssl_session.c 
compiling ossl_config.c 
compiling callback-5.c 
compiling ossl_engine.c 
compiling ossl_pkey_ec.c 
compiling ossl_bn.c 
compiling ossl_x509name.c 
compiling ossl_ssl.c 
ossl_ssl.c: In function 'Init_ossl_ssl': 
ossl_ssl.c:1982:5: error: 'SSL_OP_MSIE_SSLV2_RSA_PADDING' undeclared (first use in this function) 
ossl_ssl.c:1982:5: note: each undeclared identifier is reported only once for each function it appears in 
make[2]: *** [ossl_ssl.o] Error 1 
make[2]: Leaving directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194/ext/openssl' 
make[1]: *** [ext/openssl/all] Error 2 
make[1]: *** Waiting for unfinished jobs.... 
compiling callback-6.c 
compiling callback-7.c 
compiling callback-8.c 
linking shared-object dl/callback.so 
make[2]: Leaving directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194/ext/dl/callback' 
make[1]: Leaving directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194' 
make: *** [build-ext] Error 2 

내가 설치 한/업데이트에는 OpenSSL 버전 (OpenSSL을 1.0.1e 2013년 2월 11일) 설치의 libssl-dev에 : 나는 로그 파일에서 오류를 검사 할 때

, 나는 다음 오류가 발생했습니다 그러나 오류는 그대로 유지됩니다.

누구나 내가 SSL_OP_MSIE_SSLV2_RSA_PADDING을 (를) 선언하지 못했습니다. Ruby 설치에이 오류가 있습니까? 아니면 다른 곳에서 설정 문제가 있습니까?

모든 조언을 환영합니다 :)에게 있습니다

(나는 이미 내가 잘못 솔루션을 찾고 있어요 추측이 인터넷 검색 시간을 보내고 사이트의 많은 검색 ..)

- 편집 : Ruby 2.1 fails to install due to OpenSSL error 매크로가 최신 OPEN_SSL에서 제거되었다고 밝혀 졌는데, 더 이상 Ruby 1.9.x를 사용할 수 없다는 뜻입니까? rbenv를 통해 사용할 수있는 루비 버전을 나열 할 때 안정적인 루비 2가 나열되지 않고 + 나는 루비 1.9를 계속 사용하는 것을 선호합니다. open_ssl (현명한 아이디어가 아님) 또는 downgrade해야합니까?

답변

1

정의가 1.0.1e-2 + deb7u6 다음에 언젠가 삭제 된 것처럼 보입니다. 확실히 1.0.1e-2 + deb7u10에는 없습니다.

나는 /usr/include/openssl/ssl.h 다시

#define SSL_OP_MSIE_SSLV2_RSA_PADDING   0x00000040L /* no effect since 0.9.7h and 0.9.8b */ 

를 추가하여이 문제를 해결했다. (1.0.1e-2 + deb7u6에서 가져옴)

값을 전달하면 어떤 일이 발생할지에 대해서는 조사하지 않았습니다.

+0

또는 1.9.3-p547이 컴파일됩니다. – user3731121

+0

OpenSSL을 0.9.8로 다운 그레이드하고, Ruby를 설치하고 OpenSSL을 다시 업그레이드하여'고정 '했습니다. 이 방법은 최신 OpenSSL을 설치하고 Ruby를 설치해야하는 안전한 방법입니까? –

+0

1.9.3-p547은 Debian 7에서 컴파일되지 않습니다. – aurels