libcrypto.so.1.1: cannot open shared object file: No such file or directory
Recently I was trying to deploy an Erlang application on Ubuntu 22.04 server. When I try to start the service, I got following error:
Unable to load crypto library. Failed with error:
“load_failed, Failed to load NIF library /path/to/application/lib/crypto-5.1.1/priv/lib/crypto: ‘libcrypto.so.1.1: cannot open shared object file: No such file or directory’”
OpenSSL might not be installed on this system.
The reason for this error is Ubuntu latest version dose not support older version of openssl-1. Most solutions on StackOverflow suggested to install openssl-1. Which I tried using various methods and failed.
Later I understood, erlang package was just looking for this .so file. So I found it from older Ubuntu server, in my case it was `/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1` . I moved this .so file into my Ubuntu 22.04 server’s /usr/lib/x86_64-linux-gnu/ path and started application without an issue.
This is a sorter answer for this specific case.