With the following CMakeLists.txt (I tried to snip it AMAP)https://gist.github.com/pbertoni/29200833dc562ab6ee2cI got this error from make at linking time:/usr/bin/ld: CMakeFiles/blockmon.dir/bin/blockmon.cpp.o: undefined reference to symbol 'SSL_load_error_strings@@OPENSSL_1.0.0'//lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status/usr/bin/ld: CMakeFiles/blockmonWithXmlRPC.dir/bin/blockmonWithXmlRPC.cpp.o: undefined reference to symbol 'SSL_load_error_strings@@OPENSSL_1.0.0'//lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit statusFor each of the two executables which Cmake is targeting. Output of:ldd /lib/x86_64-linux-gnu/libssl.so.1.0.0islinux-vdso.so.1 =>  (0x00007ffc5a1f4000)libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fad78c52000)libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fad7888d000)libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fad78688000)/lib64/ld-linux-x86-64.so.2 (0x00007fad792bd000)I'm using Ubuntu 14.04.2 LTS x64. Note that on a Debian 7.8 x64 system it works!I'v tried to snip the executable code at this gist.https://gist.github.com/pbertoni/7c82c12683d4491339c1
libssl undefined reference to symbol 'SSL_load_error_strings@@OPENSSL_1.0.0'
make;libraries;ssl;dynamic linking;cmake
The developers removed that symbol. See https://github.com/openssl/openssl/blob/72257204bd2a88773461150765dfd0e0a428ee86/include/openssl/ssl.h#L1495 What you need to do is add #define OPENSSL_API_COMPAT 0x0908 somewhere to get the symbol defined as a macro.