WhyItsLikeThis
Contributor
Contributor

The famous libssl problem in Linux distribtution.

WhyItsLikeThis_0-1620816267184.png

pranav@exam ~> journalctl -r | grep -i "libssl"
May 12 10:39:12 exam VMware[2973]: /usr/sbin/vmware-authdlauncher: error while loading shared libraries: libssl.so.1.0.2: cannot open shared object file: No such file or directory

The output of sudo vmware-modconfig --console --install-all is over here and see if its helpful: https://pastebin.com/q5R1e9Su

After my research, I found this trick:

It's a mistake on VMware developers, their binary is looking for this libs in... /usr/lib! This practice is super-outdated. Dirty fix is like this:
sudo ln -s /usr/lib/vmware/lib/libssl.so.1.0.2/libssl.so.1.0.2 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2
sudo ln -s /usr/lib/vmware/lib/libcrypto.so.1.0.2/libcrypto.so.1.0.2 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2

But this trick didn't worked.  Do I need to manually install libssl or does the vmware install itself? Is this old ancient problem even fixable?

- Ubuntu 21.04

- VMware Workstation 16.1.1 build-17801498

Labels (1)
0 Kudos
1 Reply
petra_z
Contributor
Contributor

Diagnose:
# ldd /usr/sbin/vmware-authdlauncher
linux-vdso.so.1 (0x00007fffde7fe000)
librt.so.1 => /lib64/librt.so.1 (0x00007f6511811000)
libssl.so.1.0.2 => not found <=== problem!
libcrypto.so.1.0.2 => not found <= problem!
libdl.so.2 => /lib64/libdl.so.2 (0x00007f65110da000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f65110bf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f651109e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6510ecd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6511b3e000)
Better solution (without 'dirty' symlinks):
1. create a ld.config file:
# cat /etc/ld.so.conf.d/vmware-authdlauncher.conf
# libssl & libcrypto
/usr/lib/vmware/lib/libssl.so.1.0.2
/usr/lib/vmware/lib/libcrypto.so.1.0.2
2. update ldconfig:
# ldconfig
3. check:
# ldd /usr/sbin/vmware-authdlauncher
linux-vdso.so.1 (0x00007fffde7fe000)
librt.so.1 => /lib64/librt.so.1 (0x00007f6511811000)
libssl.so.1.0.2 => /usr/lib/vmware/lib/libssl.so.1.0.2/libssl.so.1.0.2 (0x00007f65115a0000)
libcrypto.so.1.0.2 => /usr/lib/vmware/lib/libcrypto.so.1.0.2/libcrypto.so.1.0.2 (0x00007f65110e1000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f65110da000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f65110bf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f651109e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6510ecd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6511b3e000)
4. restart needed services

0 Kudos