2014-12-02 3 views
0

방금 ​​우분투 10에서 우분투 14로 업그레이드했는데 OpenSSL을 사용하는 응용 프로그램 서버를 만들려고 할 때 링크 오류가 발생합니다. 이는 CRYPTO_num_locks()와 같은 멀티 스레딩 지원과 관련된 기능에서만 발생합니다. 이 함수들은 여전히 ​​/ usr/include/openssl 헤더에 있지만, 내가 가지고있는 라이브러리에는없는 것 같습니다. 나는 설치를 통해 : apt-get을 libcurl4-하려면 openssl-dev에 OPENSSL_THREADS에서우분투의 OpenSSL 14 OPENSSL_THREADS의 링크 오류

#define OPENSSL_THREAD_DEFINES 
#include <openssl/opensslconf.h> 

결과가 정의되는 라이브러리를 뜻한다 지원 설치합니다.

답변

0

해결 방법은 "-lcrypto"를 gcc 링커 명령 줄에 추가하는 것이 었습니다. 나는이 함수들이 어느 시점에서 그들 자신의 라이브러리로 옮겨 졌을 것이라고 생각한다. 그렇지 않으면 링커가 우분투 10에서 찾게하는 것이있다. 나는 이것을 지적한 RedHat에게 감사해야한다. 그것은 우분투 gcc와 같은 오류를 만들었지 만 libcrypto.so를 명령 줄에 추가 할 것을 제안했습니다.