当前位置:网站首页>openEuler 知:abi 检测
openEuler 知:abi 检测
2022-08-09 23:33:00 【canpool】
文章目录
abichecker
仓库:https://gitee.com/openeuler/abichecker
依赖:abi-dumper、abi-compliance-checker
- abi-dumper 上游社区:https://github.com/lvc/abi-dumper
- abi-compliance-checker 上游社区:https://github.com/lvc/abi-compliance-checker
用法:
python3 abichecker.py PKGNAME DIR
- PGKNAME:软件包名字,rpm包文件名的前缀需要同 PKGNAME 一样
- DIR:绝对路径,以’/'结尾,如:~/checkdir/,该目录下存在与 PKGNAME 同名的目录,PKGNAME 目录下存放该软件包的两个版本 rpm 包文件,其中需要包含必要的包含动态库的 rpm 包(main、libs、devel等)和 debuginfo rpm 包。
举例:
下面以 musl 包为例,检测 1.2.2 和 1.2.3 两个版本之间的差异:
1)准备两个版本的 rpm 包
通过osc getbinaries --debug ...
获取 obs 服务器上的两个版本的 rpm 包
$ osc getbinaries --debug openEuler:22.03:LTS musl standard_x86_64 x86_64
$ osc getbinaries --debug home:maminjie:branches:openEuler:22.03:LTS musl-1.2.2 standard_x86_64 x86_64
$ ls -1 binaries/
_buildenv
musl-debuginfo-1.2.2-2.oe2203.x86_64.rpm
musl-debuginfo-1.2.3-1.oe2203.x86_64.rpm
musl-debugsource-1.2.2-2.oe2203.x86_64.rpm
musl-debugsource-1.2.3-1.oe2203.x86_64.rpm
musl-devel-1.2.2-2.oe2203.x86_64.rpm
musl-devel-1.2.3-1.oe2203.x86_64.rpm
musl-gcc-1.2.2-2.oe2203.x86_64.rpm
musl-gcc-1.2.3-1.oe2203.x86_64.rpm
musl-libc-1.2.2-2.oe2203.x86_64.rpm
musl-libc-1.2.3-1.oe2203.x86_64.rpm
musl-libc-static-1.2.2-2.oe2203.x86_64.rpm
musl-libc-static-1.2.3-1.oe2203.x86_64.rpm
_statistics
2)重命名
将 binaries 目录重命名为 musl
$ cp -r binaries musl
3)执行 abichecker
$ python3 ~/work/my/abichecker/abichecker.py musl ~/work/tmp/
...
Creating ABI dump
The object ABI has been dumped to:
ABI-ld-musl.so.dump
Preparing, please wait ...
Comparing ABIs ...
Comparing APIs ...
Creating compatibility report ...
Binary compatibility: 99.96%
Source compatibility: 99.9%
Total binary compatibility problems: 3, warnings: 1
Total source compatibility problems: 6, warnings: 1
Report: compat_reports/ld-musl.so/X_to_Y/compat_report.html
Preparing, please wait ...
Comparing ABIs ...
Comparing APIs ...
Creating compatibility report ...
Binary compatibility: 99.96%
Source compatibility: 99.9%
Total binary compatibility problems: 3, warnings: 1
Total source compatibility problems: 6, warnings: 1
Report: compat_reports/ld-musl.so/X_to_Y/compat_report.html
更多关于 abi-dumper、abi-compliance-checker 的使用可以参考 ABI 。
边栏推荐
猜你喜欢
今日睡眠质量记录61分
Jpa 查询view or 无主键的table
[C language] In-depth understanding of pointers and arrays (issue 4)
ECCV 2022 | 微软开源TinyViT :搞定小模型的预训练能力
Redis 非关系型数据库学习(一) ---- Redis 的安装
【SSL集训DAY2】Sequence【数学】
字节技术面都过了,薪资都谈好了20K*13结果还是被刷了,问HR原因是。。。
Distributed database problem (3): data consistency
ES6 从入门到精通 # 12:数组的扩展方法一
【SSL集训DAY2】有趣的数【数位DP】
随机推荐
Digital wallets, red sea ecological rapid introduction of small programs can help capture device entry wisdom
Tensor flow 踩坑记
C语言学习之旅 【操作符(残缺版)】
Wireshark classic practice and interview 13-point summary
【集训DAY5】快速排序【模拟】【数学】
Fury:一个基于JIT动态编译的高性能多语言原生序列化框架
[C language] In-depth understanding of pointers and arrays (issue 4)
【SSL集训DAY2】Sequence【数学】
framework源码读后感
下班后用微信处理工作时发病身亡,法院判决:工伤!
WPF DataGrid using data templates
Redis 非关系型数据库学习(一) ---- Redis 的安装
拼多多店铺运营不得不知的留个运营小知识
dlopen failed: library "libtaml.so" not found
数据库的备份与恢复「建议收藏」
vmware Exsi 网卡配置
Kubernetes服务接入Istio
蔚来杯2022牛客暑期多校训练营7 CFGJ
Creo5.0入门教程赠素材
Copper's emotion