对于开发者的Fedora 40 中的变化
PyTorch
Fedora 40 是第一个提供 PyTorch 的 Fedora 版本,PyTorch 是一个基于 Torch 库的机器学习框架,用于计算机视觉和自然语言处理等应用,最初由 Meta AI 开发,现在是 Linux 基金会旗下的一部分。它是在修改后的 BSD 许可证下发布的免费开源软件。
将 PyTorch 作为 Fedora 软件包提供,意味着用户现在可以使用 DNF 代替 pip 进行安装。Fedora 40 提供的初始版本是 2.1.2。要安装,请运行 dnf install python-torch
。
要开始使用 PyTorch,请参阅官方文档。那些对 Fedora 中的 PyTorch 特别感兴趣的人,如开发者、打包者、末端用户等,可以加入PyTorch Fedora 特殊兴趣组。
PHP 8.3
PHP 编程语言解释器堆栈已升级到 8.3 版,该版本提供了多个错误修复和增强功能。值得注意的变化包括:
-
指定类常量的显式类型
-
动态类常量获取
-
新的
#[\Override]
属性 -
只读属性的深度拷贝
-
新的 `json_validate()`函数
-
新的 `Randomizer::getBytesFromString()`方法
-
命令行linter支持多文件
有关更新的全部内容,请参阅 上游发行说明。
Golang 1.22
Fedora 40 提供 Golang 1.22 版本。请参阅上游发布说明以获取完整的变更列表。
LLVM 18
所有 LLVM 子项目都已更新至第 18 版,其中包括 llvm 库的 soname 版本变更。新增了兼容包 clang17、llvm17 和 lld17,以确保目前依赖于 clang 和 llvm 第 17 版库的软件包能够继续工作。
其他显著变化包括:
-
clang 将默认发射 DWARF-5,而不是 DWARF-4。这与上游的默认值一致。由于 https://bugzilla.redhat.com/show_bug.cgi?id=2064052 的原因,Fedora 在过去几个版本中一直使用 DWARF-4 作为默认值。
-
现在,兼容性软件包将包含与主软件包相同的内容。在以前的版本中,兼容性软件包只包含库和头文件,二进制文件和其他内容都被删除了。这些软件包将被支持作为其他 RPM 软件包的依赖包使用,但最终用户不能在通常情况下使用。Fedora 用户应使用 Clang/LLVM 18。
-
为 Fedora 40 添加的兼容性软件包将在 Fedora 41 分支之前退役。
-
如果该功能能在上游 LLVM 18 版本发布时完成,我们将在 redhat-rpm-config 中启用 Fat LTO。Fat LTO 是一项允许编译器生成包含 LTO 位码和传统 ELF 二进制码的库的功能,这样这些库就可以在 LTO 模式和非 LTO 模式下链接。在 Fedora 39 及更早版本中,启用 LTO 后,clang 生成的二进制文件只有 LTO 位码,因此我们需要在库上运行一个后处理脚本(brp-llvm-compile-to-elf),将其转换为 ELF 代码,以便其他软件包使用。启用 Fat LTO 可以让 Fedora 项目移除该脚本并简化编译过程。
参阅 上游发行说明以获取更多细节。
Boost 1.83
Fedora 40 包含 Boost 1.83。更多信息,请参阅上游发布说明。
Pipenv 退役
从这个版本开始,pipenv 不再打包在 Fedora 中,因此在升级过程中可能会被移除。
需要继续使用 pipenv 的开发人员可以使用 pip install --user pipenv
直接从 pip 安装。
Want to help? Learn how to contribute to Fedora Docs ›