opensslconf.h not found
Solution 1
If you're building on a 64-system and you're targeting 32-bit, the following command fixed this issue for me:
sudo apt-get install libssl-dev:i386
Solution 2
This stuff seems to have happened a long time ago (specifically, 2013-05-20 16:56:06 UTC). I ran into a weird problem that looked very much like the OP, but it turned out to be a problem with swig failing to attach the right set of includes when compiling. I ended up hunting through the source just to make sure it wasn't a ubuntu package problem, but it didn't seem to be an issue with ubuntu.
Looking more carefully into this, the openssl package shifted opensslconf.h into a multiarch-aware directory structure. Here's the detailed commit: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42 and if you want to see how I came up with that revision, I followed the annotated revisions of the debian rules which was a surprisingly efficient way to figure out what happened: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/debian/rules.
And the committer, Kurt Roeckx, writes in the Changelog:
- Move to /usr/include/$(DEB_HOST_MULTIARCH), and mark libssl-dev Multi-Arch: same.
To be fair, I wish the opensslconf.h was, at least, symlinked into the /usr/include/openssl folder with the rest of the logically related headers. But that's not a bug, that's just my opinion. To the folks that run into this problem like I did, it just takes a bit of sniffing out missing includes to keep things humming along.
And to the OP, it's quite a lot later now, but I just gave your exact set of steps a run through on a 14.04 LTS x64 box and didn't run into the problem you were having. Perhaps the problem was simply solved over time. Hope some of this helps.
Solution 3
have executed sudo apt-get libssl-dev. I can see all sorts of ssl related header files in /usr/include/openssl but opensslconf.h is missing from the openssl folder and the make command raises the error ...
It sounds like the package is defective.
<openssl/opensslconf.h>
is created by OpenSSL's Configure
command. It should be included with the distro files. The earliest mention I could find was OpenSSL's CHANGELOG at version 0.9.2.
File a bug report at https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect.
Solution 4
It has moved because of multi arch. On amd64 it's located in /usr/include/x86_64-linux-gnu/openssl/opensslconf.h
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733644
Solution 5
I encoutered this issue while compiling a setup meant for an embedded LTS 14 device on LTS 16 PC. This is how I solved it:
cd /usr/include/openssl/
sudo ln -s /usr/include/gnutls/openssl.h .
sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Related videos on Youtube
Keir Finlow-Bates
I am a software professional with almost two decades of test automation development and test management experience. Professionally I've programmed in Pascal, Lisp, Javascript, C++ and Visual Basic in the past, but at the moment I prefer Ruby for backend and Node.JS for frontent work, with Postgres and MySQL databases for larger projects and SQLite3 databases for "quick-and-dirty" development.
Updated on September 18, 2022Comments
-
Keir Finlow-Bates over 1 year
I'm trying to build znort987's parser, and have executed
sudo apt-get libssl-dev
. I can see all sorts of ssl related header files in/usr/include/openssl
butopensslconf.h
is missing from the openssl folder and the make command raises the error:make: *** No rule to make target `/usr/include/openssl/opensslconf.h', needed by `.objs/rmd160.o'. Stop.
I'm using Ubuntu 14.04 on a 32 bit AMD laptop.
Update: I executed the following to cleanout my installation:
sudo apt-get remove libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl sudo apt-get install libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl git clone git://github.com/znort987/blockparser.git cd blockparser make
Now I get:
/usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
-
Roberto Andrade almost 9 yearsI'm trying to compile a 32 bit program on a 64 bit machine and am getting the same
opensslconf.h
not found error. installedlibssl-dev
(is there a 32 bit version of that?) and all but my program doesn't compile because of the missing file. Any ideas? -
Surya Wijaya Madjid over 8 yearsI think I'm having the same problem as you now. How did you solve it?
-
Sandburg almost 5 yearsAnd you need to activate this architecture first with
sudo dpkg --add-architecture i386
-
jcomeau_ictx about 3 yearsapparently these packages aren't multilib compatible (on Debian buster anyway). installing the i386 versions removed the amd64.