使用 Clang 10 重建 Debian 软件包数据库的结果

西尔维斯特·勒德鲁 发表 使用 Clang 10 编译器而不是 GCC 重建 Debian GNU/Linux 软件包存档的结果。 在 31014 个软件包中,有 1400 个(4.5%)无法构建,但通过对 Debian 工具包应用额外的补丁,未构建的软件包数量减少到 1110 个(3.6%)。 相比之下,在 Clang 8 和 9 中构建时,无法构建的包数量仍为 4.9%。

构建实验重点关注了 250 个因以下原因导致崩溃的问题: 错误 在 Qmake 和 177 期中, 有关 随着库中各种符号的生成。 通过向 dpkg-gensymbols 添加一个简单的补丁来将链接时的符号比较错误视为警告,并通过替换 qmake 中的 g++ 配置文件,我们能够修复构建约 290 个包的失败。

从其余的 问题,导致 Clang 中的构建失败,最常见的错误是由于缺少某些头文件、类型转换、文字和标识符之间缺少空格、绑定问题、无法从非 void 函数返回值,使用指针与 null 的有序比较,缺乏定义。

来源: opennet.ru

添加评论