I'm trying to compile a program that, according to the documentation, requires the "OpenSSL library". I have OpenSSL installed, and it's still giving me the error openssl/sha.h: No such file or directory. Is there some other library that has to be installed?

1 Answer 1


probably you are missing the openssl header files. depending on your distribution this package might have a different name, mostly it's something like openssl-dev or openssl-devel. after you installed the openssl header files, the compiler should be able to find openssl/sha.h.

In Ubuntu/Debian the package is called libssl-dev.

  • Turns out it was "libcurl4-openssl-dev". Not sure what libcurl has do do with SSL or SHA256, but it worked.
    – tkbx
    Aug 20, 2013 at 16:23
  • 3
    @tkbx /usr/include/openssl/sha.h is in libssl-dev in oldstable, stable and unstable. Aug 20, 2013 at 22:43
  • FYI: I already had libcurl4-openssl-dev installed. libssl-dev sorted this for me.
    – voices
    Jan 10, 2019 at 13:41

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