openssl kann nicht von der Quelle installiert werden. FEHLER: / usr / bin / ld: -lssl kann nicht gefunden werden

1

Ich versuche, openssl anhand der von mir ausgeführten Quelle zu installieren:

wget  wget ftp://ftp.openssl.org/source/openssl-1.0.2g.tar.gz
tar xvzf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config --prefix=/home/david/project shared 
make depend
make test
make install
make

Es schlägt fehl, nachdem make test ausgeführt wurde mit:

make[2]: Leaving directory `/home/david/project/openssl-1.0.1s'
make[2]: Entering directory `/home/david/project/openssl-1.0.1s/test'
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[2]: *** [link_app.gnu] Error 1
make[2]: Leaving directory `/home/david/project/openssl-1.0.1s/test'
make[1]: *** [bntest] Error 2
make[1]: Leaving directory `/home/david/project/openssl-1.0.1s/test'
make: *** [tests] Error 2

Wie kann libssl-dev aus dem Quellcode installiert werden, da ich den Paketmanager nicht verwende?


BEARBEITEN . Ich hatte:

[root@localhost lib64]# ls -l libssl*
-rwxr-xr-x. 1 root root 258456 Dec 15 19:46 libssl3.so
lrwxrwxrwx. 1 root root     16 Feb 27 22:10 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 441240 Jan  8 14:45 libssl.so.1.0.1e

und fügte hinzu:

[root@localhost lib64]# ls -l libssl*
-rwxr-xr-x. 1 root root 258456 Dec 15 19:46 libssl3.so
lrwxrwxrwx. 1 root root     16 Mar 18 16:24 libssl.so -> libssl.so.1.0.1e
lrwxrwxrwx. 1 root root     16 Feb 27 22:10 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 441240 Jan  8 14:45 libssl.so.1.0.1e

Wie könnte ich umgehen, wenn ich den symbolischen Link hinzufügen müsste? Gibt es etwas, das ich als Installationsoption tun könnte?

Schlacke
quelle

Antworten:

0

./config --prefix = / home / david / project shared

Normalerweise verwende ich PREFIX nicht. Ich würde die Verwendung von OPENSSLDIR empfehlen, da OpenSSL configure die Option unterstützt:

wget ftp://ftp.openssl.org/source/openssl-1.0.2g.tar.gz
tar xvzf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config shared no-ssl2 no-ssl3 no-comp --openssldir=/home/david/project 

make depend
make test
make install

Sie scheinen auch ein Extra zu haben make. Vermutlich brauchen Sie das nicht. Welchem ​​Zweck dient es?

make depend
make test
make install
make

Sie können wahrscheinlich auch vermeiden, die Manpages lokal zu installieren, und einfach Folgendes verwenden make install_sw:

make depend
make test
make install_sw

Sie sollten auch in Betracht ziehen, einen RPATH zu verwenden, um Laufzeitverknüpfungsprobleme zu vermeiden:

export MYPATH=/home/david/project 
./config shared no-ssl2 no-ssl3 no-comp -Wl,-rpath=${MYPATH}/lib --openssldir=${MYPATH}

BEARBEITEN. Ich hatte...

Bevor Sie mit der Installation in ein vorhandenes Installationsverzeichnis beginnen, sollten Sie wahrscheinlich nur die alte lokale Installation löschen:

export MYPATH=/home/david/project
rm -rf ${MYPATH}

./config shared no-ssl2 no-ssl3 no-comp -Wl,-rpath=${MYPATH}/lib --openssldir=${MYPATH}
make
make test
make install_sw

Siehe auch Kompilierung und Installation im OpenSSL-Wiki. Es werden PREFIX, OPENSSLDIR und RPATHs besprochen. Es behandelt auch andere Konfigurationsoptionen, wie no-ssl2, no-ssl3und no-comp.

jww
quelle