odbcdebianlibssllibcrypto

libcrypto.so.10: cannot open shared object file: No such file or directory


I am trying to install ODBC driver for Debian arrording to these instructions: https://blog.afoolishmanifesto.com/posts/install-and-configure-the-ms-odbc-driver-on-debian/

However trying to run:

sqlcmd -S localhost

I get the error

libcrypto.so.10: cannot open shared object file: No such file or directory

What could be the cause?

So far I have tried

1.
    $ cd /usr/lib 
     $ sudo ln -s libssl.so.0.9.8 libssl.so.10
     $  sudo ln -slibcrypto.so.0.9.8 libcrypto.so.10
2.
/usr/local/lib64 to the /etc/ld.so.conf.d/doubango.conf file

3.
sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

4. Sudo apt-get install libssl0.9.8:i386

None of these have helped.


Solution

  • As I'm quite familiar with Debian and programming, here is some advice:

    So, why are these instructions in the tutorial you are following?

    The application you are trying to run, has been linked against libcrypto.so. On the developer machine (that was used to produce the application binary), libcrypto.so was a symlink to libcrypto.so.10, but this is missing on Debian: maybe because the library has been removed (and replaced by a new and incompatible version), or because Debian uses a different naming scheme as compared to the system that was used to compile the application.

    If it is the former, then you cannot solve the issue by using symlinks. You have to get the right library (or the application linked against the correct libraries).

    If it is the latter, you may get away with symlinking the expected library name with the correct library files found on your system. (This is assuming that the only difference between the two systems is indeed the so-naming scheme).

    So, how to do it?