precisa ter o libcrypto ++. so.6 no meu jessie

2

Eu preciso de libcrypto++.so.6 no meu jessie para que algum aplicativo seja executado. Isso é o que eu tenho em /usr/lib/ :

root@lab-185:~# ls /usr/lib/ | grep libcrypto
libcrypto++.a
libcryptopp.a
libcryptopp.so
libcryptopp.so.9
libcrypto++.so
libcrypto.so.1.0.0
libcrypto++.so.9
libcrypto++.so.9.0.0

E o aptitude mostra:

root@lab-185:~# aptitude search libcrypto
i   libcrypto++-dev                                                    - General purpose cryptographic library - C++ development                      
i   libcrypto++-doc                                                    - General purpose cryptographic library - documentation                        
i   libcrypto++-utils                                                  - General purpose cryptographic library - utilities and data files             
i A libcrypto++9                                                       - General purpose cryptographic library - shared library                       
i   libcrypto++9-dbg                                                   - General purpose cryptographic library - debug symbols                        
i   libcrypto1.0.0-udeb                                                - Secure Sockets Layer toolkit - libcrypto udeb         

Isto é strace da minha aplicação:

root@lab-185:~# strace ./app  2>&1 | grep libcrypto
open("/lib/x86_64-linux-gnu/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
writev(2, [{"./app", 15}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libcrypto++.so.6", 16}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10./app: error while loading shared libraries: libcrypto++.so.6: cannot open shared object file: No such file or directory

Como posso tê-lo no meu sistema?

EDIT 1:

Comando ldd retorna:

root@lab-185:~# ldd app
./app: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.22' not found (required by ./app)
./app: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'CXXABI_1.3.9' not found (required by ./app)
./app: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by ./app)
    linux-vdso.so.1 (0x00007ffcb69e4000)
    libnetsnmp.so.30 => /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30 (0x00007f5661c32000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5661a15000)
    liblog4cxx.so.10 => /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10 (0x00007f566162c000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f5661424000)
    libxerces-c-3.1.so => /usr/lib/libxerces-c-3.1.so (0x00007f5660e1c000)
    libxqilla.so.6 => /usr/lib/libxqilla.so.6 (0x00007f56605aa000)
    libcrypto++.so.6 => not found
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f566029f000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f565ff9e000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f565fd88000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f565f9df000)
    libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f565f5e4000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f566245c000)
    libapr-1.so.0 => /usr/lib/x86_64-linux-gnu/libapr-1.so.0 (0x00007f565f3af000)
    libaprutil-1.so.0 => /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0 (0x00007f565f186000)
    libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f565ef6e000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f565ed6a000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f565eb65000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f565e92e000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f565e705000)

EDIT 2:

Eu tentei esta solução ; não funcionou.

ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.6
ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.6
ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto++.so.6

EDIT 3:

Já tenho libstdc++6 :

root@lab-185:~# aptitude search libstdc++
p   libstdc++-4.8-dev                                                  - GNU Standard C++ Library v3 (development files)                              
i A libstdc++-4.9-dev                                                  - GNU Standard C++ Library v3 (development files)                              
v   libstdc++-dev                                                      -                                                                              
p   libstdc++5                                                         - The GNU Standard C++ Library v3                                              
i   libstdc++6                                                         - GNU Standard C++ Library v3          
    
por Zeinab Abbasimazar 13.11.2017 / 12:54

1 resposta

2

A abordagem mais simples é baixar o binário atual do Stretch, que funcionará bem em Jessie:

wget http://ftp.debian.org/debian/pool/main/libc/libcrypto++/libcrypto++6_5.6.4-7_amd64.deb
sudo apt install ./libcrypto++6_5.6.4-7_amd64.deb

Você precisará manter-se atento a possíveis atualizações (inscreva-se no rastreador de pacotes usando o grande azul “ Subscrever ”no canto superior direito).

Dados os erros produzidos por ldd , duvido que isso seja suficiente para executar seu aplicativo: você também precisará de uma versão mais recente de libstdc++6 . Isso é mais difícil de atualizar no lugar, é melhor você fazer um upgrade para o Debian 9.

    
por 13.11.2017 / 13:27