Centos7编译kernel时No libelf found问题

问题

  DESCEND  bpf/resolve_btfids

Auto-detecting system features:
...                        libelf: [ OFF ]
...                          zlib: [ OFF ]
...                           bpf: [ OFF ]

No libelf found
make[4]: *** [elfdep] Error 1

近期遇到一个以前怎么也没遇到的编译问题,centos7系统上编译linux-5.9.10的内核,提示没有安装libelf,zlib等。

解决

一开始总以为是缺少依赖包,于是安装libelf-dev,libelf-devel,elfutils-libelf,elfutils-libelf-devel,devtoolset-7-elfutils-libelf,zlib等等,我都安装了个变,甚至把centos的repo也都找了几个添加了,还是不能解决问题,后来在这篇邮件里找到了解决方法

  1. 还是得先安装libelf相关包
  2. 进入源码路径下的tool目录:cd tools/ && make clean
    然后就可以了。

大概问题原因是:Kbuild系统和tools/子系统的编译冲突问题,第一次编译时,遇到libelf缺失,libbpf build system总是直接调用(invoked explicitly)而不是依赖于目标编译,导致了Kbuild与tools/系统之间的编译冲突问题,需要手动make clean。
原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值