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 モジュールストリームをインストールするには:

  1. CodeReady Linux Builder (CRB) リポジトリー を有効にします。
  2. モジュールストリームをインストールします。

    # dnf module install swig:4.1

Bugzilla:2139101

新しいパッケージ: 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 リポジトリーに含まれるパッケージはサポートされていないことに注意してください。

Bugzilla:2122401

OpenJDK サービス属性が FIPS モードで利用可能。

以前は、FIPS モードの OpenJDK で利用可能な暗号化サービスとアルゴリズムが厳格にフィルターされ、サービス属性が利用できなくなっていました。この機能強化により、これらのサービス属性が FIPS モードで使用できるようになりました。

Bugzilla:2186803

Performance Co-Pilot がバージョン 6.0 にリベースされました。

Performance Co-Pilot (PCP) がバージョン 6.0 に更新されました。以下は、主な改善点です。

  1. バージョン 3 PCP アーカイブのサポート:

    これには、ドメイン変更デルタ、2038 年対応タイムスタンプ、ナノ秒精度のタイムスタンプ、任意のタイムゾーンのサポート、およびより大きな (2GB を超える) 個々のボリューム全体で使用される 64 ビットファイルオフセットのサポートが含まれます。

    この機能は現在、/etc/pcp.conf ファイルの PCP_ARCHIVE_VERSION 設定によってオプトインされています。

    バージョン 2 アーカイブはデフォルトのままです。

  2. PCP 全体では OpenSSL のみが使用されます。Mozilla NSS/NSPR の使用は廃止されました。

    これは、libpcpPMAPI クライアント、および PMCD の暗号化の使用に影響します。これらの要素は、すでに OpenSSL を使用していた pmproxy HTTPS サポートおよび redis-server と一貫して設定および使用されるようになりました。

  3. 新しいナノ秒精度のタイムスタンプ PMAPI は、タイムスタンプを利用する PCP ライブラリーインターフェイスを呼び出します。

    これらはすべてオプションであり、既存のツールに対して完全な下位互換性が維持されます。

  4. 次のツールとサービスが更新されました。

    pcp2elasticsearch
    認証サポートを実装しました。
    pcp-dstat
    top-alike プラグインのサポートを実装しました。
    pcp-htop
    最新の安定したアップストリームリリースに更新されました。
    pmseries
    sumavgstdevnth_percentilemax_instmax_samplemin_instmin_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
    いくつかの大幅な効率改善。

    Bugzilla:2117074

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 を参照してください。

Bugzilla:2110583

更新された GCC コンパイラーが RHEL 9.2 で利用できるようになりました。

システム GCC コンパイラーバージョン 11.3.1 が更新され、アップストリームの GCC で利用可能なバグ修正および機能拡張が数多く追加されました。

GNU コンパイラーコレクション (GCC) には、C、C++、および Fortran のプログラミング言語でアプリケーションを開発するためのツールが含まれます。

使用方法は、RHEL 9 での C および C++ アプリケーションの開発 を参照してください。

Bugzilla:2117632

LLVM Toolset がバージョン 15.0.7 にリベースされました。

LLVM Toolset がバージョン 15.0.7 に更新されました。主な変更点は、以下のとおりです。

  • -Wimplicit-function-declaration および -Wimplicit-int 警告は、C99 以降ではデフォルトで有効になっています。これらの警告は、Clang 16 以降ではデフォルトでエラーになります。

Bugzilla:2118567

Rust Toolset がバージョン 1.66.1 にリベースされました。

Rust Toolset がバージョン 1.66.1 に更新されました。主な変更点は、以下のとおりです。

  • thread::scope API は、新しく生成されたスレッドによってローカル変数を安全に借用できる字句スコープを作成します。また、それらのスレッドはスコープが終了する前にすべて終了することが保証されます。
  • hint::black_box API はコンパイラーの最適化に障壁を追加します。これは、他の方法では最適化されてしまう可能性のあるベンチマークの動作を維持するのに役立ちます。
  • .await キーワードは、forIntoIterator の関係と同様に、IntoFuture 特性を使用して変換を行うようになりました。
  • ジェネリック関連型 (GAT) を使用すると、特性にジェネリックパラメーターを持つ型エイリアスを含めることができ、型と有効期間の両方にわたる新しい抽象化が可能になります。
  • 新しい let-else ステートメントでは、条件付きパターンマッチングでローカル変数をバインドし、パターンが一致しない場合に分岐 else ブロックを実行できます。
  • ラベル付きブロックを使用すると、オプションで式の値を追加して、break ステートメントはブロックの末尾にジャンプできます。
  • rust-analyzer は言語サーバープロトコルの新しい実装であり、多くのエディターで Rust のサポートを可能にします。これは以前の rls パッケージを置き換えますが、rust-analyzer に移行するにはエディターの設定を調整する必要がある場合があります。
  • Cargo には、Cargo.toml から依存関係を削除するための新しい cargo remove サブコマンドがあります。

Bugzilla:2123900

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