libcrypto. How to install?

Hi, guys!

Have a problem with libcrypto.so.1.1, libcrypto.so.10.
http://paste.opensuse.org/33185414
http://paste.opensuse.org/1802682

This libraries need to be installed with such applications as: Viber, Retroshare and many others.

Please help me with this issue.

# zypper se libcrypto

S | Name                      | Summary            | Type   
--+---------------------------+--------------------+--------
  | libcrypto41               | An SSL/TLS proto-> | package
  | libcrypto41-32bit         | An SSL/TLS proto-> | package
  | libcryptopp-5_6_2-0       | Cryptographic Li-> | package
  | libcryptopp-5_6_2-0-32bit | Cryptographic Li-> | package
  | libcryptopp-devel         | Cryptographic Li-> | package
  | libcryptopp-devel-static  | Cryptographic Li-> | package

# zypper info --provides libcrypto41


Information for package libcrypto41:
------------------------------------
Repository     : openSUSE-Leap-42.3-Update         
Name           : libcrypto41                       
Version        : 2.5.3-8.1                         
Arch           : x86_64                            
Vendor         : openSUSE                          
Installed Size : 2.0 MiB                           
Installed      : No                                
Status         : not installed                     
Source package : libressl-2.5.3-8.1.src            
Summary        : An SSL/TLS protocol implementation
Description    :                                   
    The "crypto" library implements a wide range of cryptographic
    algorithms used in various Internet standards. The services provided
    by this library are used by the LibreSSL implementations of SSL, TLS
    and S/MIME, and they have also been used to implement SSH, OpenPGP,
    and other cryptographic standards.
Provides       : [3]                               
    libcrypto.so.41()(64bit)
    libcrypto41 = 2.5.3-8.1
    libcrypto41(x86-64) = 2.5.3-8.1

I’m not sure about the difference of “10” and “41”, but it might work.


zypper in libcrypto41

this is a naming issue opensuse uses libcrypto.so.1.0 for that library’s name do not install other libcrypto packages
libcrypto42 comes with 2 files libcrypto.so.42.0.0 and a link to that file named libcrypto.so.42 that packages does not provide libcrypto.so.10
the fix can be found in the forums (I’ve used it too)
just link libcrypto.so.1.0 to libcrypto.so.10 then run ldconfig so the library can be found

ln -s /usr/lib64/libcrypto.so.1.0 /usr/lib64/libcrypto.so.10
ldconfig
zypper in viber.rpm

do not install other libcrypto packages as that might break your system
some people have suggested linking to /usr/local/lib64/libcrypto.so.10 as that’s the place where manually installed binaries should go but both should work
you could open a bugreport about the missing libcrypto.so.1.0 but that’s viber’s issue for using rh naming convention

First of all I thank you guys for the answers.

I tried all of your’s solutions, but nothing helped.

I still get the message about “libcrypto.so.10()(64bit)”

Проблема: ничто не предоставляет libcrypto.so.10()(64bit), необходимый для viber-7.0.0.1035-2.x86_64
 Решение 1: не устанавливать viber-7.0.0.1035-2.x86_64
 Решение 2: повредить viber-7.0.0.1035-2.x86_64, игнорируя некоторые из его зависимостей


Выберите по номеру одно из вышеуказанных решений или отмените [1/2/c] (c): 

I made symlinks in 6 folders:
/lib
/lib64/
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64

I used these commands:

# ln -s /lib/libcrypto.so.1.0.0 /lib/libcrypto.so.10
# ldconfig

What can I do else?

no you shouldn’t have done that you linked the 32bit library while viber needs the 64bit one as I wrote

ln -s /usr/**lib64**/libcrypto.so.1.0 /usr/**lib64**/libcrypto.so.10

assuming you linked the 64bit shared object as above you can remove the links in /usr/lib and /usr/local/lib (lib64) and just hit ignore when viber installs ldconfig should find the library
on the other hand seeing how /usr/lib64/libcrypto.so.1.0 is it self a soft link maybe you should do a hard link ie don’t use the -s switch

ln /usr/**lib64**/libcrypto.so.1.0 /usr/**lib64**/libcrypto.so.10

that being said when I installed viber I didn’t run ldconfig (I forgot) I selected ignore the dependency and viber worked fine (I removed it cos I have it on my phone and I don’t use it from my pc)

First I should say I have no “libcrypto.so.1.0”. In my libraries present only “libcrypto.so.1.0.0”.

Ok, I removed all 32-bit symlinks from folders:
/lib
/usr/lib
/usr/local/lib

I made hard links without switch -s:

ln /lib64/libcrypto.so.1.0.0 /lib64/libcrypto.so.10
ln /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
ln /usr/local/lib64/libcrypto.so.1.0.0 /usr/local/lib64/libcrypto.so.10


But still get this message:

Проблема: ничто не предоставляет libcrypto.so.10()(64bit), необходимый для viber-7.0.0.1035-2.x86_64
 Решение 1: не устанавливать viber-7.0.0.1035-2.x86_64
 Решение 2: повредить viber-7.0.0.1035-2.x86_64, игнорируя некоторые из его зависимостей


Выберите по номеру одно из вышеуказанных решений или отмените [1/2/c] (c): 

Any suggestions???

If you’re trying to install Viber,
This was asked and answered not that long ago in this Forum

https://forums.opensuse.org/showthread.php/528277-Error-when-install-Viber-(1)?highlight=viber

TSU

I have seen this thread. But there is the only one solution: ignore & install. By the way it doesn’t work with 42.3.

I wanna find the solution, when I shouldn’t ignore.

How can I install the libcrypto library? What should I do my system understand that it has this library?

I have seen this thread. But there is the only one solution: ignore & install. By the way it doesn’t work with 42.3.

Why does it not work?
Post the complete Output in Code-Tags here.

a link to libcrypto.so.1.0.0 is needed
if you haven’t already you really should do

ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10

if viber still does not work start it in a terminal and post the output messages here with the

 tags

I think you misunderstand what “ignore” really means.
It basically means that the test for that dependency is faulty and that the dependency either is not really required or can be met a different way.

In this case, it’s that the necessary library file is available, but by another name. That is why you can “ignore” the test as long as you know what you need to do to fix the issue by other means (create the required symlink).

HTH,
TSU