コンパイラおよび開発ツール

このOracle Linux 8リリースでは、コンパイラおよび開発ツールに関連する次の機能、拡張機能、および変更が導入されています。

Clangリソース・ディレクトリの移動

Clangが内部ヘッダーおよびライブラリを格納するClangリソース・ディレクトリは、/usr/lib64/clang/17から/usr/lib/clang/17に移動されました。

バージョン0.190に更新されたelfutils

elfutils 0.190更新では、次の変更が導入されています:

  • libelf: このライブラリに相対再配置(RELR)が含まれるようになりました。

  • libdw: このライブラリは、.debug_[ct]u_indexセクションで機能するようになりました。

  • -Ds--use-dynamic --symbol: これらのオプションをeu-readelfツールとともに使用すると、ELFセクションを使用せずに動的セグメントに記号を表示できます。
  • eu-readelf: このツールは、.gdb_indexバージョン9を表示するようになりました。

  • eu-scrlines: この新しいツールは、指定されたDWARFファイルまたはELFファイルに関連付けられたソース・ファイルのリストを生成します。

  • debuginfod: このサーバー・スキーマは、ファイル名表現を圧縮するようになりました。この機能を使用する前に、再索引付けする必要があります。

grafana-selinuxパッケージの追加

grafana-selinuxパッケージにはgrafana-serverのSELinuxポリシーが含まれ、デフォルトでgrafana-serverとともにインストールされ、リリースに追加されます。この更新により、grafana-serverunconfined_service_t SELinuxタイプとしてではなく、grafana_t SELinuxタイプとして確実に実行されます。

バージョン1.10.9に更新されたant

ant:1.10モジュール・ストリームがバージョン1.10.9に更新されました。この最新バージョンには、プロバイダ・クラスおよびプロバイダ引数を使用したコード署名の機能が含まれています。

更新されたant:1.10モジュール・ストリームには、antおよびant-libパッケージのみが含まれていることに注意してください。Antに関連する残りのパッケージは、サポートされていないCodeReady Linux Builder (CRB)リポジトリのjavapackages-toolsモジュールで配布されます。このリポジトリは更新されていません。

更新されたant:1.10モジュール・ストリームのパッケージは、javapackages-toolsモジュールのパッケージと並行して使用できません。Ant関連のパッケージの完全なセットを使用するには、ant:1.10モジュールをアンインストールして無効にし、CRBリポジトリを有効にして、javapackages-toolsモジュールをインストールする必要があります。

maven-openjdk21パッケージの追加

maven:3.8モジュール・ストリームにmaven-openjdk21サブパッケージが含まれるようになりました。このサブパッケージは、OpenJDK 21のMaven JDKバインディングを提供し、システムOpenJDK 21を使用するようにMavenを構成します。

バージョン3.26に更新されたcmake

cmakeパッケージがバージョン3.26に更新されました。主な変更点は次のとおりです:

  • C17およびC18言語標準の追加。

  • cmakeは、/etc/os-releaseファイルを問い合せてOSを識別できます。

  • cmakeでは、CUDA 20およびnvtx3ライブラリを使用できます。

  • cmakeでは、Pythonの安定したアプリケーション・バイナリ・インタフェースを使用できます。

  • Perl 5は、Simplified Wrapper and Interface Generator (SWIG)ツールで使用できます。

バージョン3.22.0に更新されたValgrind

Valgrindがバージョン3.22.0に更新されました。詳細は、https://valgrind.org/docs/manual/dist.news.htmlを参照してください。

バージョン17.0.6に更新されたLLVMツールセット

LLVM Toolsetパッケージがバージョン17.0.6に更新されました。主な変更点は次のとおりです:
  • 不透明なポインタの移行: 完了しました
  • レガシー・パス・マネージャがミドルエンド最適化で非推奨になりました。
主なClangの変更点は次のとおりです:
  • C++20コルーチンが完全にサポートされるようになりました。
  • std::move関数および最適化されていないビルドでのコード生成が改善されました。
詳細は、LLVMおよびClangアップストリームのリリース・ノートを参照してください。

バージョン1.75.0に更新されたRustツールセット

Rustツールセットがバージョン1.75.0になりました。主な変更点は次のとおりです:
  • 定数の評価時間が無制限になりました
  • パニック・メッセージは、引用符で囲まずに独自の行に出力されるようになり、読みやすくなりました。
  • 認証済レジストリに資格証明プロバイダが必要となるように、Cargoレジストリ認証が拡張されました。
  • async fnおよびreturn_position_impl_trait_in_traitを安定させることで、Rust言語および特性システムの表現性が改善されました

バージョン1.21.0に更新されたGoツールセット

Goツールセットがバージョン1.21.0になりました。主な変更点は次のとおりです:
  • min、maxおよびclearビルトインが追加されました。
  • プロファイル・ガイド付き最適化の公式サポートが追加されました。
  • パッケージ初期化順序が正確に定義されました。
  • 型推論が改善されました。
  • 下位互換性が改善されました。

詳細は、Goアップストリームのリリース・ノートを参照してください。

GCCツールセット13の更新

GCCツールセット13は、最新バージョンの開発ツールを提供するコンパイラ・ツールセットです。このツールセットは、AppStreamリポジトリのソフトウェア・コレクション形式のアプリケーション・ストリームとして使用できます。

GCCツールセット13では、次のツールおよびバージョンを使用できます:

  • GCC 13.2.1
  • GDB 12.1
  • binutils 2.40
  • dwz 0.14
  • annobin 12.32

ツールセットをインストールするには、次のように入力します。

sudo dnf install gcc-toolset-13

GCCツールセット13からツールを実行するには、次のように入力します:

$ scl enable gcc-toolset-13 tool

GCCツールセット13のツール・バージョンでこれらのツールのシステム・バージョンをオーバーライドするシェル・セッションを実行するには、次のように入力します:

scl enable gcc-toolset-13 bash