2011-07-06 2 views
0

내 컴퓨터에 openssl 0.9.8g이 설치되어 있습니다 ... 그것은 내가 겪었던 알려진 버그가있는 것 같습니다.최신 openssl 업데이트를 사용하는 방법은 무엇입니까?

버그를 수정 한 것으로 보이는 현재 버전 1.0.0d를 설치하고 싶습니다.

때문에, 기본 설치 :

$ ./config 
$ make 
$ sudo make install 

그러나 후에도 내 소프트웨어가 난 여전히 같은 오류가 다시 컴파일하고,이 오류로 작성 이후는 0.9.8에서 오는 확실히이다 :

error:1408F06B:SSL routines:SSL3_GET_RECORD:bad decompression:/SourceCache/OpenSSL098/OpenSSL098-35/src/ssl/s3_pkt.c:438:

+0

해당 앱을 제작하는 모든 앱이 정적으로 링크되어 있습니까? 아니면 특별히 0.9.8 .so를 요청하는 것일 수도 있습니다. –

+0

컴파일 중에 -lssl 플래그 만 사용하면됩니다. – TheSquad

답변

1

OpenSSL 다운로드 버전을 /home/yourname/openssl에 설치했다고 가정 해 보겠습니다. 그런 다음 이미 파일 시스템에있는 사전 패키지 된 0.9.8 대신 해당 사용자 정의 설치를 사용하도록 소프트웨어에 지시해야합니다. 제거 할 필요가 없습니다. 컴퓨터에 여러 개의 설치를 할 수 있습니다. libssl과 libcrypto를 찾을 수있는 올바른 경로를 링커에 제공하여 사용자 정의 설치를 찾는 소프트웨어를 "알려줍니다". Makefile의 링크 옵션에 다음을 추가하십시오.

-L/home/yourname/openssl/lib -Wl,-R/home/yourname/openssl/lib 

그러면 새 버전과 잘 연결되어야합니다. 그것은 한 확인하려면

ldd <your_executable_or_library> 

를 사용하여 사용자 정의 OpenSSL이 경로가 나열되어 있는지 확인 아니라 이전 할 수 있습니다.

0

사용중인 OS에 대해 잘 모르겠지만 새로운 버전을 설치하기 전에 먼저 잘못된 이전 버전을 제거해야합니다. 일부 OS는 sudo make install과 함께 설치된 라이브러리를 패킷 관리자와 같은 위치에 두지 않습니다. 또한 라이브러리의 검색 순서에서 오래된 라이브러리를로드 할 수도 있습니다.

+0

debian sarge를 사용하면 ... 그럴 것입니다.하지만 이전 버전의 openssl을 어떻게 제거합니까? – TheSquad

+0

'sudo apt-get openssl'은 내가 생각하는 트릭을해야합니다. – Constantinius

+0

아니, 나는 그들의 웹 사이트에서 다운로드 한 소스 코드에서 openssl을 설치했다. ... apt-get (최신 버전도 필요하다) – TheSquad

관련 문제