ITADN
RossComputerGuy/nixpkgs-llvm-ws
RossComputerGuy/nixpkgs-llvm-ws · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

nixpkgs-llvm-ws

用于整理与追踪 Nixpkgs/NixOS 在 LLVM 环境下能否完整编译的 Flake 工作区/仓库。 其目标是确保大多数 Nixpkgs 包能够在 pkgsLLVM 环境下或配合 LLVM 正常运行。

发展路线图

截至 2024-07-27 的当前路线图:

  • 可用的最小化 NixOS 配置
  • 启用 Hydra 测试
  • 自动化的构建失败报告功能
  • 可用的图形化 NixOS 配置

参与贡献

由于 Nixpkgs 是一个规模庞大的仓库,包含众多软件包。为避免仅让我(@RossComputerGuy)或其他贡献者及维护者承担过多压力,非常欢迎更多人的协助。

1. 查找构建失败问题

查找构建失败的最佳方式是使用 nix build github:NixOS/nixpkgs#pkgsLLVM.*pkgname*,并将构建失败情况报告至 Nixpkgs]。请在此仓库中创建一个问题,并附上 Nixpkgs 中对应问题的链接,随后相关人员会在此处进行问题复现与修复,之后再将修复成果同步到上游项目。

2. 修复构建失败问题

最佳的修复方式是向此仓库提交 PR,由我(@RossComputerGuy)及其他人员负责查看并处理。参与该项目的任何人都可以将修复成果同步到上游,或者您也可以自行完成同步。

常见的构建失败问题

由版本脚本导致的 error: version script assignment of 'xxx' to symbol 'xx' failed: symbol not defined

这种情况通常发生在某个库通过版本脚本进行链接时,常见的解决方案是采用类似如下的处理方式:

# Fix undefined reference errors with version script under LLVM.
NIX_LDFLAGS = lib.optionalString (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "--undefined-version";