HTTPD won't start with latest sasl
Unless I did something wrong, but with latest sasl version I see this:
# ls -l /usr/lib64/libsasl2.so* ... /usr/lib64/libsasl2.so -> libsasl2.so.3.0.0* ... /usr/lib64/libsasl2.so.3 -> libsasl2.so.3.0.0* But HTTPD is still looking for /usr/lib64/libsasl2.so.2 which I created by linking it to libsasl2.so.3.0.0 (dirty like surrounder said). # slackpkg search sasl Looking for sasl in package list. Please wait... DONE The list below shows all packages with name matching "sasl". [ installed ] - qca-cyrus-sasl-2.0.0_beta3-x86_64-2 [ installed ] - cyrus-sasl-2.1.26-x86_64-1 |
you probably have to update your httpd too: here
Code:
# objdump -x /usr/sbin/httpd | grep NEEDED | grep sasl |
And yet...
installed version is httpd-2.4.17-x86_64-2 $ objdump -x /usr/sbin/httpd | grep NEEDED | grep sasl NEEDED libsasl2.so.3 and # ldd /usr/sbin/httpd linux-vdso.so.1 (0x00007ffe4bdb8000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f34a30b8000) libaprutil-1.so.0 => /usr/lib64/libaprutil-1.so.0 (0x00007f34a2e8e000) libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f34a2c64000) libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007f34a2996000) libicui18n.so.56 => /usr/lib64/libicui18n.so.56 (0x00007f34a2509000) libicuuc.so.56 => /usr/lib64/libicuuc.so.56 (0x00007f34a2171000) libicudata.so.56 => /usr/lib64/libicudata.so.56 (0x00007f34a078e000) libdb-4.4.so => /lib64/libdb-4.4.so (0x00007f34a047f000) libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x00007f34a0236000) libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x00007f34a001a000) libssl.so.1 => /lib64/libssl.so.1 (0x00007f349fda1000) libcrypto.so.1 => /lib64/libcrypto.so.1 (0x00007f349f952000) liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f349f744000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f349f529000) libapr-1.so.0 => /usr/lib64/libapr-1.so.0 (0x00007f349f2f5000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f349f0f1000) librt.so.1 => /lib64/librt.so.1 (0x00007f349eee9000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f349ecb0000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f349ea92000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f349e88e000) libc.so.6 => /lib64/libc.so.6 (0x00007f349e4c1000) libm.so.6 => /lib64/libm.so.6 (0x00007f349e1c0000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f349de45000) libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f349dc2f000) /lib64/ld-linux-x86-64.so.2 (0x0000555b2685a000) but # /etc/rc.d/rc.httpd start /usr/sbin/httpd: error while loading shared libraries: libsasl2.so.2: cannot open shared object file: No such file or directory |
you probably have other stuff in your system still linking to the old libsasl2.
if you want to find what is you can check it using objdump: run it like this Code:
# objdump -x /usr/sbin/httpd | grep NEEDED |
Thanks for the tip:
for lib in $(objdump -x /usr/sbin/httpd | grep NEEDED | awk '{print $NF}'); do echo "Now checking $lib:"; objdump -x $(locate $lib); done > file and indeed looking into file I see that libldap-2.4.so.2 is looking for the problematic file, which is a part of aaa_elflibs or openldap-client which is not installed on my machine. Installing the later fixed this issue, thanks a lot. |
All times are GMT -5. The time now is 11:26 PM. |