openssl falha ao instalar da origem ERRO: / usr / bin / ld: não é possível encontrar -lssl

1

Estou tentando instalar o openssl pela origem que eu executo:

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

Falha após o teste ser executado com:

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

Como o libssl-dev pode ser instalado a partir do código-fonte, já que não estou usando o gerenciador de pacotes?

EDITAR . Eu tinha:

[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

e adicionado:

[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

Como eu poderia ter que adicionar o link simbólico? Existe algo que eu poderia fazer como uma opção de instalação?

    
por dross 18.03.2016 / 13:12

1 resposta

0

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

Eu normalmente não uso o PREFIX. Eu recomendaria usar o OPENSSLDIR já que o OpenSSL configure suporta a opção:

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

Além disso, você parece ter um make extra. Eu estou supondo que você provavelmente não precisa disso. Para que serve isso?

make depend
make test
make install
make

Além disso, você provavelmente pode evitar instalar as páginas do manual localmente e usar apenas make install_sw :

make depend
make test
make install_sw

Você também deve considerar o uso de um RPATH para evitar problemas de vinculação de tempo de execução:

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

EDIT. I had...

Antes de começar a instalar em um diretório de instalação existente, você provavelmente deve excluir apenas a instalação local antiga:

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

Veja também compilação e instalação no wiki do OpenSSL. Discute PREFIX, OPENSSLDIR e RPATHs. Ele também discute outras opções de configuração, como no-ssl2 , no-ssl3 e no-comp .

    
por 31.03.2016 / 22:19