1

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

  • So, what are you trying to compile and why? Is the software in question not packaged for your distribution? – Faheem Mitha Apr 13 '15 at 14:57
  • 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 Apr 13 '15 at 15:15
  • Well, try to reduce your problem down to a reproducible working example, and then post that. What distribution are you using? – Faheem Mitha Apr 13 '15 at 16:16
  • Added some information. But please be patient, I suppose you need something more from that headers.. – Patrizio Bertoni Apr 18 '15 at 9:20
  • 1
    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. – Faheem Mitha Apr 18 '15 at 17:13
1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.