4.12. 编译器和开发工具
openblas rebase 到版本 0.3.21
OpenBLAS 库已更新至版本 0.3.21。这个更新包括 IBM POWER10 平台的性能优化补丁。
Bugzilla:2112099
新模块流:swig:4.1
					RHEL 9.2 引入了 Simplified Wrapper 和 Interface Generator (SWIG)版本 4.1 作为 CodeReady Linux Builder (CRB)存储库中提供的 swig:4.1 模块流。请注意,不支持 CodeReady Linux Builder 存储库中包含的软件包。
				
				与 RHEL 9.0 中发布的 SWIG 4.0 相比,SWIG 4.1 :
			
- 
						添加了对 Node.js版本 12 到 18 的支持,并删除对早于 6 的Node.js版本的支持。
- 
						添加了对 PHP 8的支持。
- 
						通过 PHPC API 完全处理PHP包装,默认情况下不再生成一个.php包装器。
- 
						仅支持 Perl 5.8.0及更新的版本。
- 
						向 3.11 添加了对 Python版本 3.9 的支持。
- 
						仅支持 Python 3.3及更新的Python 3版本以及Python 2.7。
- 
						为 Python生成的代码中的各种内存泄漏提供修复。
- 改进了对 C99、C++11、C++14 和 C++17 标准的支持,并开始实现 C++20 标准。
- 
						添加对 C++ std::unique_ptrpointer 类的支持。
- 包括 C++ 模板处理中的几个小改进。
- 修复了各种情况下 C++ 声明用法。
				要安装 swig:4.1 模块流:
			
- 启用 CodeReady Linux Builder (CRB)存储库。
- 安装模块流: - dnf module install swig:4.1 - # dnf module install swig:4.1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
新软件包:CRB 存储库中的 jmc
					RHEL 9.2 引入了 HotSpot JVMs 版本 8.2.0 的 JDK Mission Control (JMC)配置集,作为 AMD 和 Intel 64 位架构的 CodeReady Linux Builder (CRB)存储库中的 jmc 软件包提供。
				
要安装 JMC,您必须首先启用 CodeReady Linux Builder (CRB)存储库。
请注意,不支持 CRB 存储库中包含的软件包。
OpenJDK 服务属性现在在 FIPS 模式下可用
在以前的版本中,OpenJDK 在 FIPS 模式下提供的加密服务和算法被严格过滤,导致服务属性不可用。有了这个增强,这些服务属性在 FIPS 模式下可用。
Performance Co-Pilot rebase 到版本 6.0
					Performance Co-Pilot (PCP)已更新至版本 6.0。主要改进包括:
				
- 版本 3 PCP 归档支持: - 这包括对实例域 change-deltas、Y2038-safe 时间戳、纳秒精度时间戳、任意时区支持以及用于大型(超过 2 GB)单个卷的 64 位文件偏移的支持。 - 此功能目前通过 - /etc/pcp.conf文件中的- PCP_ARCHIVE_VERSION设置进行选择。- 版本 2 存档保留默认值。 
- 在整个 PCP 中只使用 OpenSSL。Mozilla NSS/NSPR 使用已被丢弃: - 这会影响 - libpcp、- pmAPI客户端和- PMCD加密。现在,这些元素已配置,并与- pmproxyHTTPS 支持和- redis-server一致,它们都使用 OpenSSL。
- 新的纳秒精度时间戳 - PMAPI调用使用时间戳的- PCP库接口。- 这些都是可选的,为现有工具保留完全向后兼容。 
- 以下工具和服务已更新: - pcp2elasticsearch
- 实现了身份验证支持。
- pcp-dstat
- 
									实现了对 top-alike插件的支持。
- pcp-htop
- 更新至最新的稳定上游版本。
- pmseries
- 
									添加了 sum,avg,stdev,nth_percentile,max_inst,max_sample,min_inst和min_sample函数。
- pmdabpf
- 添加了 CO-RE (Compile Once - Run Everywhere)模块,并支持 AMD64、Intel 64 位、64 位 ARM 和 IBM Power Systems。
- pmdabpftrace
- 
									将示例自动启动脚本移到 /usr/share目录中。
- pmdadenki
- 添加了对多个活跃电池的支持。
- pmdalinux
- 
									对最新的 /proc/net/netstat更改的更新。
- pmdaopenvswitch
- 添加了额外的接口和覆盖统计信息。
- pmproxy
- 请求参数现在可以在请求正文中发送。
- pmieconf
- 
									为 Open vSwitch 指标添加了几个 pmie规则。
- pmlogger_farm
- 添加了场日志记录器的默认配置文件。
- pmlogger_daily_report
- 一些主要效率改进。
 
grafana rebase 到版本 9.0.9
					grafana 软件包已 rebase 至版本 9.0.9。主要变更包括:
				
- 现在,时间序列面板是默认的视觉化选项,替换了图形面板
- 新的 heatmap 面板
- 新的 Prometheus 和 Loki 查询构建器
- 更新了 Grafana Alerting
- 改进了多个 UI/UX 和性能
- 许可证从 Apache 2.0 变为 GNU Affero General Public License (AGPL)
以下内容作为 opt-in 实验性功能提供:
- 新条形图面板
- 新状态时间线面板
- 新的状态历史记录面板
- 新的直方图面板
如需更多信息,请参阅:Grafana v9.0 中的新内容 以及 Grafana v8.0 中的新内容。
Bugzilla:2116847
grafana-pcp rebase 到版本 5.1.1
					grafana-pcp 软件包已 rebase 到版本 5.1.1。主要变更包括:
				
- 查询编辑器
- 添加了禁用速率转换和时间利用率转换的按钮。
- Redis
- 
							删除了已弃用的 label_values (metric, label)函数。
- Redis
- 修复了带有许多系列的指标的网络错误(需要 Performance Co-Pilot v6+)。
- Redis
- 
							将 pmproxyAPI 超时设为 1 分钟。
Bugzilla:2116848
更新了 GCC Toolset 12
					GCC Toolset 12 是一个编译器工具集,提供了开发工具的最新版本。它在 AppStream 存储库中以软件集合的形式作为应用程序流提供。
				
RHEL 9.2 中引入的显著变化包括:
- GCC 编译器已更新至版本 12.2.1,它提供了上游 GCC 中提供的很多 bug 修复和增强。
- 
						annobin已更新至版本 11.08。
GCC Toolset 12 提供了以下工具和版本:
| 工具 | 版本 | 
|---|---|
| GCC | 12.2.1 | 
| GDB | 11.2 | 
| binutils | 2.38 | 
| dwz | 0.14 | 
| annobin | 11.08 | 
要安装 GCC Toolset 12,以 root 用户身份运行以下命令:
dnf install gcc-toolset-12
# dnf install gcc-toolset-12要从 GCC Toolset 12 运行工具:
scl enable gcc-toolset-12 tool
$ scl enable gcc-toolset-12 tool要运行一个 shell 会话,其中 GCC Toolset 12 中的工具版本会覆盖这些工具的系统版本:
scl enable gcc-toolset-12 bash
$ scl enable gcc-toolset-12 bash如需更多信息,请参阅 GCC Toolset 12。
现在,更新的 GCC 编译器可用于 RHEL 9.2
系统 GCC 编译器版本 11.3.1 已更新,以包含上游 GCC 中的很多 bug 修复和增强。
GNU Compiler Collection (GCC) 提供用于使用 C、C++ 和 Fortran 编程语言开发应用程序的工具。
有关使用信息,请参阅 RHEL 9 中开发 C 和 C++ 应用程序。
LLVM Toolset rebase 到版本 15.0.7
LLVM Toolset 已更新至版本 15.0.7。主要变更包括:
- 
						-Wimplicit-function-declaration和-Wimplicit-int警告在 C99 及更新版本中默认启用。在 Clang 16 及更高版本中,这些警告将默认变为错误。
Rust Toolset rebase 到版本 1.66.1
Rust Toolset 已更新到版本 1.66.1。主要变更包括:
- 
						thread::scopeAPI 创建一个字典范围,其中本地变量可以被新生成的线程安全地借用,且这些线程都保证在范围结束前退出。
- 
						hint::black_boxAPI 向编译器优化添加了一个障碍,这对于保留基准中的行为很有用,否则这些行为可能会被优化掉。
- 
						.await关键字现在使用IntoFuture特征进行转换,类似于for和IntoIterator之间的关系。
- 通用关联类型(GAT)允许特征包含具有通用参数的类型别名,对类型和生命周期启用新抽象。
- 
						新的 let-else语句允许本地变量与条件模式匹配绑定,在模式不匹配时执行分支else块。
- 
						标记的块允许 break语句跳到块的末尾,可以选择包含一个表达式值。
- 
						rust-analyzer是一种语言服务器协议的新实现,在很多编辑器中启用 Rust 支持。这取代了以前的rls软件包,但您可能需要调整编辑器配置以迁移到rust-analyzer。
- 
						cargo 有一个新的 cargo remove子命令,用于从Cargo.toml中删除依赖项。
Go Toolset rebase 到版本 1.19.6
Go Toolset 已更新到版本 1.19.6。主要变更包括:
- 对以下软件包的安全修复: - 
								crypto/tls
- 
								mime/multipart
- 
								net/http
- 
								path/filepath
 
- 
								
- 对以下的 bug 修复: - 
								go命令
- 链接器
- 运行时
- 
								crypto/x509软件包
- 
								net/http软件包
- 
								time软件包
 
- 
								
Bugzilla:2175173
tzdata 软件包现在包含 /usr/share/zoneinfo/leap-seconds.list 文件
					在以前的版本中,tzdata 软件包只提供 /usr/share/zoneinfo/leapseconds 文件。有些应用程序依赖于 /usr/share/zoneinfo/leap-seconds.list 文件提供的备用格式,因此会出现错误。
				
				有了这个更新,tzdata 软件包现在包含这两个文件,支持依赖任一格式的应用程序。
			
Bugzilla:2157982