Uma solução que achei que foi rotulada "não é a melhor maneira de fazer isso", mas funcionou para mim, era editar a variável de sistema LD_LIBRARY_PATH, por exemplo, em < user > /. bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Eu tenho tentado atualizar alguns programas em uma antiga caixa Linux (Debian 7.5 wheezy). Eu gostaria de manter as bibliotecas de sistema padrão intocadas e adicionar algumas construções personalizadas ao lado delas. Funciona bem para a maioria das libs, apenas o OpenSSL me causa dificuldades (libssl.so + libcrypt.so).
Aqui está a minha linha de configuração do OpenSSL:
# ./config --prefix=/usr/local --openssldir=/usr/local/openssl no-gost shared zlib no-ssl2 -fPIC
Em seguida, para outros programas, por exemplo, cURL:
# ./configure LDFLAGS="-L/usr/local/ssl/lib -ldl" --with-ssl --enable-shared
Mas então recebo a versão errada do OpenSSL:
# curl --version
curl 7.44.0 (x86_64-unknown-linux-gnu) libcurl/7.44.0 OpenSSL/1.0.1e
Eu sei que o libssl.so tem cópias nas seguintes pastas deste sistema:
/usr/lib/libssl.so
/usr/lib/x86_64-linux-gnu/libssl.so
/usr/local/lib/libssl.so
/usr/local/ssl/lib/libssl.so
Todos eles são da mesma versão compilada, exceto /usr/lib/x86_64-linux-gnu/libssl.so que parece ser meu lib padrão do sistema (v1.0.5e) .
Gostaria de saber como posso instruir os scripts de configuração para evitar procurar dentro do / lib / x86_64-linux-gnu ? Posso apenas alterar o link simbólico /usr/lib/x86_64-linux-gnu/libssl.so e apontá-lo para minhas compilações? É seguro?
Obrigado,
Uma solução que achei que foi rotulada "não é a melhor maneira de fazer isso", mas funcionou para mim, era editar a variável de sistema LD_LIBRARY_PATH, por exemplo, em < user > /. bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Eu tentei fazer o que você sugere, resultando em uma falha de segmentação! Então, não é seguro!
/usr/lib/i686/cmov$ sudo ln -s /usr/lib/libssl.so.1.0.0 libssl.so.0.9.8
/usr/lib/i686/cmov$ ls -la
total 1684
drwxr-xr-x 2 root root 4096 Jun 16 14:15 .
drwxr-xr-x 3 root root 4096 Oct 22 2012 ..
-rw-r--r-- 1 root root 1393308 Feb 11 2013 libcrypto.so.0.9.8
lrwxrwxrwx 1 root root 24 Jun 16 14:15 libssl.so.0.9.8 -> /usr/lib/libssl.so.1.0.0
-rw-r--r-- 1 root root 310296 Feb 11 2013 libssl.so.0.9.8.bk
:/usr/lib/i686/cmov$ sudo /etc/init.d/nginx restart
Restarting nginx: nginx/usr/sbin/nginx: /usr/lib/i686/cmov/libssl.so.0.9.8: no version information available (required by /usr/sbin/nginx)
Segmentation fault
Tags openssl debian curl compilation