openssl does not excecute at all / libcrypto problem

Hi All

I tried to import a certificate in Kleopatra but it was impossible to do so. I was getting an error window saying

An error occured while trying to import the certificate /home/user/…/haricacert.p12
Invalid object

I thought I had forgotten the key of the certificate.
Then I tried to generate public / private keys using the command

** openssl pkcs12 -nocerts -in haricacert.p12 -out**
which produced the error:
[FONT=arial]openssl: relocation error: openssl: symbol BIO_f_zlib, version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference

even invoking openssl without any arguments produces the same error

Thanking in advance

Mimis

my system:
[/FONT]mimis@goldberg:~$ uname -r
4.12.14-lp151.28.48-default

mimis@goldberg:~$ zypper info libcrypto43
Information for package libcrypto43:

Repository : openSUSE-Leap-15.1-1
Name : libcrypto43
Version : 2.8.0-lp151.1.3
Arch : x86_64
Vendor : openSUSE
Installed Size : 1.8 MiB
Installed : Yes
Status : up-to-date
Source package : libressl-2.8.0-lp151.1.3.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.

It seems to work here.

I don’t think “libcrypto43” is involved.


% ldd /usr/bin/openssl
        linux-vdso.so.1 (0x00007ffefd5fc000)
        libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007fd7e81c3000)
        libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007fd7e7d31000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd7e7b12000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd7e7757000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fd7e7540000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fd7e733c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd7e86d2000)

And “libcrypto.so.1.1” is provided by the package “libopenssl1_1”.

I have libcrypto.so.1.1, but it is from:
rpm -qf /usr/lib64/libcrypto.so.1.1
libopenssl1_1-1.1.1c-1.3.x86_64

I get the same message as the original poster.

The message says it’s looking for 1_1_0, which fits libcrypto.so.1.1.

How is one supposed to take a message like:
“openssl: relocation error: openssl: symbol BIO_f_zlib version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference”

and find out what physical file it is looking for, since it isn’t in the obvious choice: /usr/lib64/libcrypto.so.1.1

It is harder for me to check now, because I am running Leap 15.2 (and not Leap 15.1).

I have been using “openssl” recently to check certificates. And I have not seen any problems. But this is on Leap 15.2 and on Tumbleweed.

The kind of error you are seeing is typically due to incompatible libraries. And that can be caused by messed up repos.

This is not Leap 15.1 package.

I believe that. As I’ve been trying to move to TW for a while. However, given the version mismatch
error, it seems that some if not many problems exist in more than one SuSE distro. Does that really
surprise anyone?

I think my main question:

How is one supposed to take a message like:
“openssl: relocation error: …”
and find out what physical file it is looking for, since it isn’t in the obvious choice: /usr/lib64/libcrypto.so.1.1

still stands. I mean, how can a user look for a package that contains the ‘right’ version of said lib when the version
string in the filename doesn’t seem to be the same as the internally required/supplied version, not to mention, going on
and finding the package.

Used to be version on a file represented the library version and usually matched what the rpm name
said, but with the embedded versions, it seems they can easily not match the file’s named version nor, I suspect the rpm version.

I really don’t think that is helpful to end users.

:X

This is the package delivered by distribution release you are using.