I am making a C application. In the assembly, I indicate
LIBS=-lcrypto -lcurl
A warning message appears,
/usr/bin/ld: warning: libcrypto.so.1.0.2, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libcurl.so, may conflict with libcrypto.so.1.1
By default, -lcrypto is related to version 1.1. Libcurl is dependent on version 1.0.2. I make him quiet like
LIBS=/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 -lcurl
But then the functionality in the included header #include <openssl/crypto.h>betrays the associated version. The header is related to version 1.1, not 1.0.2.
I want tips on how to manage the problem. I rely on the CURL system library, but it depends on the version of OpenSSL that I don't want. What to do?
Edit: Clarification: I do not want to recompile CURL if this helps. Is this a common scenario of "dependent hell"?
Edit 2: Tracking my files so I find this,
$ dpkg --list | grep libssl1
ii libssl1.0.0:amd64 1.0.1t-1+deb8u6 amd64 Secure Sockets Layer toolkit - shared libraries
ii libssl1.0.2:amd64 1.0.2k-1 amd64 Secure Sockets Layer toolkit - shared libraries
ii libssl1.1:amd64 1.1.0e-1 amd64 Secure Sockets Layer toolkit - shared libraries
$ apt-file list libssl1.0.0
$ apt-file list libssl1.0.2 | grep libcrypto
libssl1.0.2: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2
$ apt-file list libssl1.1 | grep libcrypto
libssl1.1: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
$ ls -l /usr/lib/x86_64-linux-gnu
, , Debian 1.0.2. apt-cache showpkg libssl1.0.2 . 1.1, , Debian .