I'm trying to compile TrueCrypt 7.1a from source on Ubuntu 13.04. However make fails during the linking process with the following error:

Linking truecrypt
/usr/bin/ld: /home/user/truecrypt-7.1a-source/tc2/Volume/Volume.a(SecurityToken.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: note: 'dlclose@@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux-gnu/libdl.so.2 so try adding it to the linker command line
/lib/x86_64-linux-gnu/libdl.so.2: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[1]: *** [truecrypt] Error 1
make: *** [all] Error 2

How do I fix that?

1 Answer 1


Set the environment variable LIBS to -ldl:

LIBS=-ldl make
  • 3
    I have ubuntu 14.04. Got similar error /usr/bin/ld: CMakeFiles/lmdemo.dir/lmdemo.c.o: undefined reference to symbol 'exp@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line You solution didn't help me. What shall I do?
    – Shashwat
    Sep 23, 2014 at 21:23
  • Thank you! 2 hours for me to finally find this. I was having this issue on the Raspbian Raspberry PI platform. Jan 12, 2015 at 21:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .