┌──(root㉿yunyao)-[/home/qiyu/kernel-xiaomi-sdm845-master]
└─# make
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CHK scripts/mod/devicetable-offsets.h
HOSTCC scripts/sign-file
scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: 没有那个文件或目录
25 | #include <openssl/opensslv.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [scripts/Makefile.host:101:scripts/sign-file] 错误 1
make: *** [Makefile:585:scripts] 错误 2
编译Android kernel错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
从提供的错误信息来看,编译Android Kernel时遇到的问题是由于
openssl/opensslv.h头文件缺失导致的。这通常意味着OpenSSL库未安装或安装路径不在系统预设的搜索路径中。为了解决这个问题,可以按照以下步骤操作:
步骤 1: 安装 OpenSSL
确保你的开发环境已经安装了OpenSSL。在大多数Linux发行版中,可以通过包管理器进行安装。例如,在Debian或Ubuntu上,可以运行以下命令:
sudo apt-get update sudo apt-get install libssl-dev在Red Hat或Fedora上,则可以使用:
sudo yum install openssl-devel或者在CentOS上:
sudo yum install openssl-devel步骤 2: 验证安装
安装完成后,验证是否成功安装并可被编译器识别。可以在终端中尝试编译一个简单的C程序来检查OpenSSL头文件是否可用:
#include <stdio.h> #include <openssl/opensslv.h> int main() { printf("OpenSSL version: %s\n", OPENSSL_VERSION_TEXT); return 0; }保存此代码为
test.c,然后尝试编译:gcc -o test test.c -lssl -lcrypto ./test如果输出了OpenSSL的版本信息,则说明安装正确且编译器可以找到OpenSSL库。
步骤 3: 重新编译 Android Kernel
一旦确认OpenSSL已正确安装并可被编译器访问,再次尝试编译Android Kernel:
make如果之前的所有步骤都已完成且没有其他错误,那么这次编译应该会成功。
通过上述步骤,你应该能解决因
openssl/opensslv.h头文件缺失而导致的编译错误。如果在执行过程中遇到任何其他问题或错误,建议检查系统的环境变量、编译器设置以及Kernel的配置选项,确保它们都与你的开发环境相匹配。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录