内核编译提示scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory

当编译时遇到openssl/bio.h文件缺失的错误,通常是由于libssl-dev版本过高导致。解决方法包括安装libssl-dev,如果提示版本不匹配,需要使用aptitude来降级libssl1.0.0到兼容的版本。通过dpkg-l*libssl*检查降级是否成功,确保后续编译顺利进行。
摘要由CSDN通过智能技术生成

出现scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory 是因为没有安装libssl-dev或者已安装的libssl1.0.0版本太高, 无法支持。
一、安装 libssl-dev 库

sudo apt install libssl-dev

如果提示如下所示 ,说明 已安装的libssl1.0.0版本太高, 无法支持,需要对libssl-dev进行降级

 libssl-dev : 依赖: libssl1.x.x (= 1.x.x f-1ubuntu x) 但是 1.x.xf-1 ubuntu x 正要被安装
              推荐: libssl-doc 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

x-表示版本

可以通过dpkg -l *libssl*指令查看其等级,按 q 键退出

二、对libssl-dev进行降级

1、安装 aptitude 软件包管理器

sudo apt-get install aptitude

2、使用aptitude安装 libssl-dev包

sudo aptitude install libssl-dev

3、选择不保持当前版本

下列“新”软件包将被安装。         
  libssl-dev{b} libssl-doc{a} 
0 个软件包被升级,新安装 0 个, 0 个将被删除, 同时 0 个将不升级。
需要获取 0 kB 的存档。 解包后将要使用 0 kB。
下列软件包存在未满足的依赖关系:
libssl-dev : 依赖: libssl1.x.x (= 1.x.xf-1ubuntu x) 但是 1.x.xf-xubuntu x 已安装。
下列动作将解决这些依赖关系:
     保持下列软件包于其当前版本:
1)     libssl-dev [未安装的]      

是否接受该解决方案?[Y/n/q/?] n  

出现提示后 输入“n”

4、降级 libssl-dev软件包

1)     libssl1.0.0 [1.0.1f-1ubuntu9.8 (now) -> 1.0.1f-1ubuntu2.18 (trusty-securi

是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
  libssl1.0.0 
下列“新”软件包将被安装。
  libssl-dev libssl-doc{a} 
0 个软件包被升级,新安装 2 个, 1 个被降级, 0 个将被删除, 同时 74 个将不升级。
需要获取 2,866 kB 的存档。 解包后将要使用 7,783 kB。
您要继续吗?[Y/n/?] y

出现提示后 选择“y”,进行降级
经过一系列下载安装户,libssl-dev被降级,
可以通过

dpkg -l *libssl*

指令查看是否降级成功。之后便可以编译内核。

至此,结束。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值