그래서 SSL ergo Apache Openssl 및 SSLeay를 사용하여 Apache를 설치하려고합니다. 나는 Apache2와 함께 끝났으며 Openssl은 내가 SSLeay를 설치하는데 어려움을 겪고 있음을 안다. 나는 모든 명령이 실패한 후에 perl Makefile.PL
까지 얻는다. 즉 내가 this question, that is simmilar 보았고하려면 openssl-(STABLE)이 필요하다는 것을 발견 이후에 설치하려면 openssl-(STABLE)을 가진 하나이기 때문에 리눅스에서 Crypt :: SSLeay를 설치하는 중 오류가 발생했습니다.
perl Makefile.PL
Found multiple possibilities for OpenSSL
/opt/ssl (OpenSSL 0.9.8r)
/usr (OpenSSL 0.9.8p)
Which SSL install path do you want to use? [/opt/ssl]
build information
================================================
ssl library: OpenSSL 0.9.8r in /opt/ssl
ssl header: openssl/ssl.h
libraries: -L/opt/ssl/lib -lssl -lcrypto -lgcc
include dir: -I/opt/ssl/include
================================================
Note (probably harmless): No library found for -lgcc
Writing Makefile for Crypt::SSLeay
The test suite can attempt to connect to public servers
to ensure that the code is working properly. If you are
behind a strict firewall or have no network connectivity,
these tests may fail (through no fault of the code).
Do you want to run the live tests (y/N)? [N]
는 I은/usr 설치를 선택합니다. 그래서,하려면 openssl-(STABLE)
rpm -qi openssl
Name : openssl Relocations: (not relocatable)
Version : 0.9.8a Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release : 18.36 Build Date: Mon 27 Jul 2009 03:55:03 PM CEST
Install Date: Mon 18 Jan 2010 10:42:42 AM CET Build Host: deacon.suse.de
Group : Productivity/Networking/Security Source RPM: openssl-0.9.8a-18.36.src.rpm
Size : 2998754 License: BSD 3-Clause
Signature : DSA/SHA1, Mon 27 Jul 2009 03:57:14 PM CEST, Key ID a84edae89c800aca
Packager : http://bugs.opensuse.org
URL : http://www.openssl.org/
Summary : Secure Sockets and Transport Layer Security
rpm -qi openssl-devel
Name : openssl-devel Relocations: (not relocatable)
Version : 0.9.8p Vendor: PLD
Release : 1 Build Date: Fri 19 Nov 2010 12:24:41 PM CET
Install Date: Wed 05 Oct 2011 03:47:56 PM CEST Build Host: x86-64.titanium.pld-linux.org
Group : Development/Libraries Source RPM: openssl-0.9.8p-1.src.rpm
Size : 2003899 License: Apache-like
Signature : (none)
Packager : PLD
URL : http://www.openssl.org/
Summary : Development part of OpenSSL Toolkit libraries
Description :<br/>
Development part of OpenSSL library.
Distribution: PLD Titanium
를 설치하지만 make
make
cc -c -I/opt/ssl/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe -DVERSION=\"0.58\" -DXS_VERSION=\"0.58\" -fPIC "-I/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/CORE" SSLeay.c
SSLeay.c: In function âXS_Crypt__SSLeay__CTX_newâ:
SSLeay.c:118: warning: unused variable âpacknameâ
SSLeay.c: In function âXS_Crypt__SSLeay__Conn_newâ:
SSLeay.c:395: warning: unused variable âpacknameâ
SSLeay.c: In function âXS_Crypt__SSLeay__CTX_use_pkcs12_fileâ:
SSLeay.c:287: warning: âRETVALâ may be used uninitialized in this function
Running Mkbootstrap for Crypt::SSLeay()
chmod 644 SSLeay.bs
rm -f blib/arch/auto/Crypt/SSLeay/SSLeay.so
cc -shared -L/usr/local/lib64 SSLeay.o -o blib/arch/auto/Crypt/SSLeay/SSLeay.so \
-L/opt/ssl/lib -lssl -lcrypto
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: /opt/ssl/lib/libssl.a(s2_clnt.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/ssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Crypt/SSLeay/SSLeay.so] Error 1
나는 이유에는 OpenSSL-(STABLE) 라이브러리를 찾을하지 않는 펄이라고 생각을 실행할 때 난 여전히 다음과 같은 오류가 알고 그렇다면 어떻게 링크 시켜서 찾을 수 있습니까? 당신이 일반적으로 undefined symbol
오류가 라이브러리를 찾을 수없는 경우
'Crypt :: SSLeay'로 해결해야 할 많은 것들이 있습니다. 다시 한 번'Makefile.PL' 파일이 그 중 하나입니다. 요즈음 나는 그것으로 돌아갈 것이다. 그 동안 배포본에 패키지가 제공되면 미리 패키지화 된 버전을 사용하십시오. –