libssl undefined reference to symbol 'SSL_load_error_strings@@OPENSSL_1.0.0'

8,293

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.

Share:
8,293

Related videos on Youtube

Patrizio Bertoni
Author by

Patrizio Bertoni

Dad, SW engineer, human being too, thanks God. Linkedin Bitcoin 13euJmE54k2yK4aqhV5exLsrjEQ2X4d1pr

Updated on September 18, 2022

Comments

  • Patrizio Bertoni
    Patrizio Bertoni over 1 year

    With the following CMakeLists.txt (I tried to snip it AMAP)

    https://gist.github.com/pbertoni/29200833dc562ab6ee2c

    I 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 line
    collect2: 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 line
    collect2: error: ld returned 1 exit status
    

    For each of the two executables which Cmake is targeting. Output of:

    ldd /lib/x86_64-linux-gnu/libssl.so.1.0.0
    

    is

    linux-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

    • Alen Milakovic
      Alen Milakovic about 9 years
      So, what are you trying to compile and why? Is the software in question not packaged for your distribution?
    • Patrizio Bertoni
      Patrizio Bertoni about 9 years
      I'm compiling a copyrighted program which I'm afraid I cannot provide. Program is not packaged, I got sources, few external libs and CMakeLists.txt.
    • Patrizio Bertoni
      Patrizio Bertoni about 9 years
      Added some information. But please be patient, I suppose you need something more from that headers..
    • Alen Milakovic
      Alen Milakovic about 9 years
      I get fatal error: CompositionManager.hpp: No such file or directory when I try to compile. You're going to need a self-contained example. I suggest bundling your code with a build script.
  • Sir Jo Black
    Sir Jo Black over 3 years
    Hi Bjorn, do you know if the issue is the same also for the function SSL_get_verify_result@@OPENSSL_1_1_0?