今天編譯centos8內核linux-4.18.0-80.el8時出現錯誤如下:
[root@localhost linux-4.18.0-80.el8]# make
HOSTCC scripts/kconfig/conf.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --syncconfig Kconfig
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h
SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h
SYSTBL arch/x86/include/generated/asm/syscalls_64.h
HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
HOSTCC scripts/basic/bin2c
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
UPD include/config/kernel.release
WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
WRAP arch/x86/include/generated/asm/dma-contiguous.h
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
WRAP arch/x86/include/generated/asm/mm-arch-hooks.h
UPD include/generated/uapi/linux/version.h
UPD include/generated/utsrelease.h
CC kernel/bounds.s
UPD include/generated/bounds.h
UPD include/generated/timeconst.h
CC arch/x86/kernel/asm-offsets.s
UPD include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
DESCEND objtool
HOSTCC /root/linux-4.18.0-80.el8/tools/objtool/fixdep.o
HOSTLD /root/linux-4.18.0-80.el8/tools/objtool/fixdep-in.o
LINK /root/linux-4.18.0-80.el8/tools/objtool/fixdep
CC /root/linux-4.18.0-80.el8/tools/objtool/exec-cmd.o
CC /root/linux-4.18.0-80.el8/tools/objtool/help.o
CC /root/linux-4.18.0-80.el8/tools/objtool/pager.o
CC /root/linux-4.18.0-80.el8/tools/objtool/parse-options.o
CC /root/linux-4.18.0-80.el8/tools/objtool/run-command.o
CC /root/linux-4.18.0-80.el8/tools/objtool/sigchain.o
CC /root/linux-4.18.0-80.el8/tools/objtool/subcmd-config.o
LD /root/linux-4.18.0-80.el8/tools/objtool/libsubcmd-in.o
AR /root/linux-4.18.0-80.el8/tools/objtool/libsubcmd.a
GEN /root/linux-4.18.0-80.el8/tools/objtool/arch/x86/lib/inat-tables.c
CC /root/linux-4.18.0-80.el8/tools/objtool/arch/x86/decode.o
LD /root/linux-4.18.0-80.el8/tools/objtool/arch/x86/objtool-in.o
CC /root/linux-4.18.0-80.el8/tools/objtool/builtin-check.o
CC /root/linux-4.18.0-80.el8/tools/objtool/builtin-orc.o
CC /root/linux-4.18.0-80.el8/tools/objtool/check.o
CC /root/linux-4.18.0-80.el8/tools/objtool/orc_gen.o
CC /root/linux-4.18.0-80.el8/tools/objtool/orc_dump.o
CC /root/linux-4.18.0-80.el8/tools/objtool/elf.o
CC /root/linux-4.18.0-80.el8/tools/objtool/special.o
CC /root/linux-4.18.0-80.el8/tools/objtool/objtool.o
CC /root/linux-4.18.0-80.el8/tools/objtool/libstring.o
CC /root/linux-4.18.0-80.el8/tools/objtool/str_error_r.o
LD /root/linux-4.18.0-80.el8/tools/objtool/objtool-in.o
LINK /root/linux-4.18.0-80.el8/tools/objtool/objtool
HOSTCC scripts/genksyms/genksyms.o
YACC scripts/genksyms/parse.tab.c
HOSTCC scripts/genksyms/parse.tab.o
LEX scripts/genksyms/lex.lex.c
YACC scripts/genksyms/parse.tab.h
HOSTCC scripts/genksyms/lex.lex.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
CC scripts/mod/devicetable-offsets.s
UPD scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/selinux/genheaders/genheaders
HOSTCC scripts/selinux/mdp/mdp
HOSTCC scripts/kallsyms
HOSTCC scripts/pnmtologo
HOSTCC scripts/conmakehash
HOSTCC scripts/recordmcount
HOSTCC scripts/sortextable
HOSTCC scripts/asn1_compiler
HOSTCC scripts/sign-file
scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: No such file or directory
#include <openssl/opensslv.h>
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [scripts/Makefile.host:90: scripts/sign-file] Error 1
make: *** [Makefile:1067: scripts] Error 2
很明顯系統中缺失了一個頭文件,這是一個庫文件。
解決辦法:
To install OpenSSL development package on **Debian, Ubuntu** or their derivatives:
$ sudo apt-get install libssl-dev
To install OpenSSL development package on Fedora, **CentOS** or RHEL:
$ sudo yum install openssl-devel