4.12. コンパイラーおよび開発ツール
openblas
がバージョン 0.3.21 にリベースされました。
OpenBLAS ライブラリーがバージョン 0.3.21 に更新されました。この更新には、IBM POWER10 プラットフォームのパフォーマンス最適化パッチが含まれています。
Bugzilla:2112099
新しいモジュールストリーム: swig:4.1
RHEL 9.2 では、Simplified Wrapper and Interface Generator (SWIG) バージョン 4.1 が swig:4.1
モジュールストリームとして導入され、CodeReady Linux Builder (CRB) リポジトリーで利用できます。CodeReady Linux Builder リポジトリーに含まれるパッケージは、サポート対象外であることに注意してください。
RHEL 9.0 でリリースされた SWIG 4.0
と比較すると、SWIG 4.1
は次のとおりです。
-
Node.js
バージョン 12 〜 18 のサポートを追加し、Node.js
バージョン 6 より前のサポートを削除します。 -
PHP 8
のサポートを追加します。 -
PHP
C API を通じて完全にPHP
ラッピングを処理し、デフォルトでは.php
ラッパーを生成しなくなりました。 -
Perl 5.8.0
以降のバージョンのみをサポートします。 -
Python
バージョン 3.9 から 3.11 のサポートを追加します。 -
Python 3.3
以降のPython 3
バージョンとPython 2.7
のみをサポートします。 -
Python
で生成されたコードにおけるさまざまなメモリーリークの修正を提供します。 - C99、C++11、C++14、および C++17 標準のサポートが向上し、C++20 標準の実装が開始されます。
-
C++
std::unique_ptr
ポインタークラスのサポートを追加します。 - C++ テンプレートの処理に複数の小さな改善が含まれています。
- さまざまなケースでの C++ 宣言の使用法を修正しました。
swig:4.1
モジュールストリームをインストールするには:
- CodeReady Linux Builder (CRB) リポジトリー を有効にします。
モジュールストリームをインストールします。
# dnf module install swig:4.1
新しいパッケージ: CRB リポジトリー内の jmc
RHEL 9.2 では、HotSpot JVM バージョン 8.2.0 用の JDK Mission Control (JMC) プロファイラーが導入されており、AMD および Intel 64 ビットアーキテクチャー用の CodeReady Linux Builder (CRB) リポジトリーの jmc
パッケージとして利用できます。
JMC をインストールするには、まず CodeReady Linux Builder (CRB) リポジトリー を有効にする必要があります。
CRB リポジトリーに含まれるパッケージはサポートされていないことに注意してください。
OpenJDK サービス属性が FIPS モードで利用可能。
以前は、FIPS モードの OpenJDK で利用可能な暗号化サービスとアルゴリズムが厳格にフィルターされ、サービス属性が利用できなくなっていました。この機能強化により、これらのサービス属性が FIPS モードで使用できるようになりました。
Performance Co-Pilot がバージョン 6.0 にリベースされました。
Performance Co-Pilot (PCP
) がバージョン 6.0 に更新されました。以下は、主な改善点です。
バージョン 3 PCP アーカイブのサポート:
これには、ドメイン変更デルタ、2038 年対応タイムスタンプ、ナノ秒精度のタイムスタンプ、任意のタイムゾーンのサポート、およびより大きな (2GB を超える) 個々のボリューム全体で使用される 64 ビットファイルオフセットのサポートが含まれます。
この機能は現在、
/etc/pcp.conf
ファイルのPCP_ARCHIVE_VERSION
設定によってオプトインされています。バージョン 2 アーカイブはデフォルトのままです。
PCP 全体では OpenSSL のみが使用されます。Mozilla NSS/NSPR の使用は廃止されました。
これは、
libpcp
、PMAPI
クライアント、およびPMCD
の暗号化の使用に影響します。これらの要素は、すでに OpenSSL を使用していたpmproxy
HTTPS サポートおよびredis-server
と一貫して設定および使用されるようになりました。新しいナノ秒精度のタイムスタンプ
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
がバージョン 9.0.9 にリベースされました。
grafana
パッケージがバージョン 9.0.9 にリベースされました。主な変更点は、以下のとおりです。
- 時系列パネルがデフォルトの視覚化オプションになり、グラフパネルに置き換わりました。
- 新しいヒートマップパネル
- 新しい Prometheus および Loki クエリービルダー
- Grafana アラートの更新
- 複数の UI/UX とパフォーマンスの改善
- ライセンスが Apache 2.0 から GNU Affero General Public License (AGPL) に変更されました。
以下はオプトインの実験的機能として提供されています。
- 新しい棒グラフパネル
- 新しい状態タイムラインパネル
- 新しいステータス履歴パネル
- 新しいヒストグラムパネル
詳細は、Grafana v9.0 の新機能 および Grafana v8.0 の新機能 を参照してください。
Bugzilla:2116847
grafana-pcp
がバージョン 5.1.1 にリベースされました。
grafana-pcp
パッケージがバージョン 5.1.1 にリベースされました。主な変更点は、以下のとおりです。
- クエリーエディター
- レートの変換と時間使用率の変換を無効にするボタンを追加しました。
- Redis
-
非推奨の
label_values(metric, label)
関数を削除しました。 - Redis
- 多くの系列を持つメトリックのネットワークエラーを修正しました (Performance Co-Pilot v6+ が必要)。
- Redis
-
pmproxy
API タイムアウトを 1 分に設定します。
Bugzilla:2116848
GCC Toolset 12 の更新
GCC Toolset 12 は最新バージョンの開発ツールを提供するコンパイラーツールセットです。このツールセットは、AppStream
リポジトリーにおいて、Software Collection の形式で、Application Streams として利用できます。
RHEL 9.2 で導入された注目すべき変更点は次のとおりです。
- GCC コンパイラーがバージョン 12.2.1 に更新され、アップストリームの GCC で利用可能なバグ修正および機能拡張が数多く追加されました。
-
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
GCC Toolset 12 のツールを実行するには、以下のコマンドを実行します。
$ scl enable gcc-toolset-12 tool
GCC Toolset バージョン 12 のツールバージョンが、このようなツールのシステムバージョンをオーバーライドするシェルセッションを実行するには、次のコマンドを実行します。
$ scl enable gcc-toolset-12 bash
詳細は、GCC Toolset 12 を参照してください。
更新された GCC コンパイラーが RHEL 9.2 で利用できるようになりました。
システム GCC コンパイラーバージョン 11.3.1 が更新され、アップストリームの GCC で利用可能なバグ修正および機能拡張が数多く追加されました。
GNU コンパイラーコレクション (GCC) には、C、C++、および Fortran のプログラミング言語でアプリケーションを開発するためのツールが含まれます。
使用方法は、RHEL 9 での C および C++ アプリケーションの開発 を参照してください。
LLVM Toolset がバージョン 15.0.7 にリベースされました。
LLVM Toolset がバージョン 15.0.7 に更新されました。主な変更点は、以下のとおりです。
-
-Wimplicit-function-declaration
および-Wimplicit-int
警告は、C99 以降ではデフォルトで有効になっています。これらの警告は、Clang 16 以降ではデフォルトでエラーになります。
Rust Toolset がバージョン 1.66.1 にリベースされました。
Rust Toolset がバージョン 1.66.1 に更新されました。主な変更点は、以下のとおりです。
-
thread::scope
API は、新しく生成されたスレッドによってローカル変数を安全に借用できる字句スコープを作成します。また、それらのスレッドはスコープが終了する前にすべて終了することが保証されます。 -
hint::black_box
API はコンパイラーの最適化に障壁を追加します。これは、他の方法では最適化されてしまう可能性のあるベンチマークの動作を維持するのに役立ちます。 -
.await
キーワードは、for
とIntoIterator
の関係と同様に、IntoFuture
特性を使用して変換を行うようになりました。 - ジェネリック関連型 (GAT) を使用すると、特性にジェネリックパラメーターを持つ型エイリアスを含めることができ、型と有効期間の両方にわたる新しい抽象化が可能になります。
-
新しい
let
-else
ステートメントでは、条件付きパターンマッチングでローカル変数をバインドし、パターンが一致しない場合に分岐else
ブロックを実行できます。 -
ラベル付きブロックを使用すると、オプションで式の値を追加して、
break
ステートメントはブロックの末尾にジャンプできます。 -
rust-analyzer
は言語サーバープロトコルの新しい実装であり、多くのエディターで Rust のサポートを可能にします。これは以前のrls
パッケージを置き換えますが、rust-analyzer
に移行するにはエディターの設定を調整する必要がある場合があります。 -
Cargo には、
Cargo.toml
から依存関係を削除するための新しいcargo remove
サブコマンドがあります。
Go Toolset がバージョン 1.19.6 にリベースされました。
Go Toolset がバージョン 1.19.6 に更新されました。主な変更点は、以下のとおりです。
次のパッケージに対するセキュリティー修正:
-
crypto/tls
-
mime/multipart
-
net/http
-
path/filepath
-
バグ修正:
-
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