在ubuntu22.04中使用bear命令追踪内核编译报错的原因分析和解决方案
1.说明
我在ubuntu22.04中使用bear命令追踪内核编译时发生如下报错:
- 如图,在链接名为libexec.so的动态库时发生错误
2 分析及解决过程
- 打印变量 LIB 发现其为空,也就是说 bear会去 /usr/bear/ 去找 libexec.so
- 去看一下 /usr/bear/是否存在 libexec.so,结果发现 /usr 目录下是没有 bear 目录的,那自然是无法找到libexec.so 的
- 搜索一下 libexec.so 的位置,发现其在 /usr/lib/x86_64-linux-gnu/bear 下
- 思路1 - 修改环境变量 LIB
失败,打印出的路径是对的但仍然找不到libexec.so
- 查看一下 bear 的用法 可以通过 --library 指定链接路径,
- 使用如下命令,成功解决报错bear --library /usr/lib/x86_64-linux-gnu/bear/libexec.so -- make -j16