Dependencies resolution problem, libcrypto.so.1.1 and libssl.so.1.1

Issues related to applications and software problems
Post Reply
draganasyss
Posts: 6
Joined: 2020/04/08 18:23:18

Dependencies resolution problem, libcrypto.so.1.1 and libssl.so.1.1

Post by draganasyss » 2020/09/19 16:57:11

I am trying to build RPMs from apache httpd source code. I've done this before with default installed OpenSSL. The goal now is to statically link with a newer version of openssl. I'm using Httpd 2.4.43 and openssl 1.1.1e.

First step I did was installing openssl from source like this:

Code: Select all

tar xvf OpenSSL-openssl-1.1.1e.tar.gz
cd OpenSSL-openssl-1.1.1e
./configure --prefix=/opt/openssl-1.1.1e --openssldir=/opt/openssl-1.1.1
Then I changed my httpd.sepc file

Code: Select all

%configure \
    --enable-layout=RPM \
    --libdir=%{_libdir} \
    --sysconfdir=%{_sysconfdir}/httpd/conf \
    --includedir=%{_includedir}/httpd \
    --libexecdir=%{_libdir}/httpd/modules \
    --datadir=%{contentdir} \
    --with-installbuilddir=%{_libdir}/httpd/build \
    --enable-mpms-shared=all \
    --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
    --enable-suexec --with-suexec \
    --with-suexec-caller=%{suexec_caller} \
    --with-suexec-docroot=%{contentdir} \
    --with-suexec-logfile=%{_localstatedir}/log/httpd/suexec.log \
    --with-suexec-bin=%{_sbindir}/suexec \
    --with-suexec-uidmin=500 --with-suexec-gidmin=100 \
    --enable-pie \
    --with-pcre \
    --enable-mods-shared=all \
    --enable-ssl --with-ssl=/opt/openssl-1.1.1e --enable-so --enable-mods-static=ssl --enable-bucketeer \
    --enable-case-filter --enable-case-filter-in \
    --disable-imagemap
The rpms are successfully built, but when trying to install httpd has error for failed dependencies

Code: Select all

rpm -ivh httpd-2.4.43-1.x86_64.rpm
error: Failed dependencies:
    libcrypto.so.1.1()(64bit) is needed by httpd-2.4.43-1.x86_64
    libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) is needed by httpd-2.4.43-1.x86_64
    libssl.so.1.1()(64bit) is needed by httpd-2.4.43-1.x86_64
    libssl.so.1.1(OPENSSL_1_1_0)(64bit) is needed by httpd-2.4.43-1.x86_64
    libssl.so.1.1(OPENSSL_1_1_1)(64bit) is needed by httpd-2.4.43-1.x86_64
This is libraries in /usr/lib64

Code: Select all

ll /usr/lib64/ | grep libssl
-rwxr-xr-x.  1 root root    364072 Oct 31  2019 libssl3.so
lrwxrwxrwx   1 root root        13 Sep 18 12:27 libssl.so -> libssl.so.1.1
-rwxr-xr-x.  1 root root    324456 Mar  9  2016 libssl.so.0.9.8e
lrwxrwxrwx.  1 root root        16 Jun 29 17:39 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x.  1 root root    446344 Aug 14  2019 libssl.so.1.0.1e
-rwxr-xr-x   1 root root    682933 Sep 18 11:55 libssl.so.1.1
lrwxrwxrwx.  1 root root        16 Aug 10 09:49 libssl.so.6 -> libssl.so.0.9.8e

ll /usr/lib64/ | grep libcrypto
lrwxrwxrwx   1 root root        16 Sep 18 12:27 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x.  1 root root   1408384 Mar  9  2016 libcrypto.so.0.9.8e
lrwxrwxrwx.  1 root root        19 Jun 29 17:39 libcrypto.so.10 -> libcrypto.so.1.0.1e
-rwxr-xr-x.  1 root root   1974048 Aug 14  2019 libcrypto.so.1.0.1e
-rwxr-xr-x   1 root root   3245830 Sep 18 11:55 libcrypto.so.1.1
lrwxrwxrwx.  1 root root        19 Aug 10 09:49 libcrypto.so.6 -> libcrypto.so.0.9.8e
And this is the last command using ldd on openssl

Code: Select all

ldd -v /usr/bin/openssl | grep libssl*
    libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f38b4b26000)
            libssl.so.1.1 (OPENSSL_1_1_1) => /lib64/libssl.so.1.1
            libssl.so.1.1 (OPENSSL_1_1_0) => /lib64/libssl.so.1.1
    /lib64/libssl.so.1.1:

ldd -v /usr/bin/openssl | grep libcrypto*
    libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007fa713125000)
            libcrypto.so.1.1 (OPENSSL_1_1_1) => /lib64/libcrypto.so.1.1
            libcrypto.so.1.1 (OPENSSL_1_1_0) => /lib64/libcrypto.so.1.1
            libcrypto.so.1.1 (OPENSSL_1_1_0d) => /lib64/libcrypto.so.1.1
            libcrypto.so.1.1 (OPENSSL_1_1_0i) => /lib64/libcrypto.so.1.1
            libcrypto.so.1.1 (OPENSSL_1_1_0f) => /lib64/libcrypto.so.1.1
            libcrypto.so.1.1 (OPENSSL_1_1_1) => /lib64/libcrypto.so.1.1
            libcrypto.so.1.1 (OPENSSL_1_1_0) => /lib64/libcrypto.so.1.1
    /lib64/libcrypto.so.1.1:
I am not sure why linking of libraries fails, how can I investigate further or hopefully resolve this dependencies?

Whoever
Posts: 1357
Joined: 2013/09/06 03:12:10

Re: Dependencies resolution problem, libcrypto.so.1.1 and libssl.so.1.1

Post by Whoever » 2020/09/19 23:39:39

Just move to CentOS 7 or 8.

CentOS 6 is EOL in a matter of weeks.

Post Reply