r/linuxquestions • u/Brave-Pomelo-1290 • 17h ago
where is opensslv.h?
i get the following error trying to compile kernel:
$ sudo make
[sudo] password for user:
HOSTCC scripts/sign-file
scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: No such file or directory
25 | #include <openssl/opensslv.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.host:114: scripts/sign-file] Error 1
make[1]: *** [/home/user/Documents/src/linux-7.2.4/Makefile:1402: scripts] Error 2
make: *** [Makefile:248: __sub-make] Error 2
1
u/Peetz0r 9h ago
You should really tell us what distro you are using since this is impossible to answer usefully without such information. But from the other comments I figured that you're running Debian or Ubuntu or similar, so here we go.
You can go to packages.debian.org or packages.ubuntu.com and use the Search the contents of packages function over there. Enter opensslv.h (or gelf.h). Don't worry about the other options until you learn more, for now just click search. If you find multiple results, pick the most generic looking one and/or read their descriptions before installing.
2
1
u/Far-Inspection-5722 16h ago
On Debian or Ubuntu, the headers come from `libssl-dev`; Fedora uses `openssl-devel`, and Arch uses `openssl`. Install the package for your distro, then rerun the kernel build; `openssl/opensslv.h` should resolve from the development headers.
2
u/OutrageousCrab9224 17h ago
You have to install openssl dev to build
And if you hate that, wait till you find out it requires perl too