4.12. Compilateurs et outils de développement


openblas repassé à la version 0.3.21

La bibliothèque OpenBLAS a été mise à jour vers la version 0.3.21. Cette mise à jour inclut des correctifs d'optimisation des performances pour la plateforme IBM POWER10.

Bugzilla:2112099

Un nouveau flux de modules : swig:4.1

RHEL 9.2 introduit la version 4.1 de Simplified Wrapper and Interface Generator (SWIG) en tant que flux de modules swig:4.1 disponible dans le dépôt CodeReady Linux Builder (CRB). Notez que les paquets inclus dans le dépôt CodeReady Linux Builder ne sont pas pris en charge.

Par rapport à SWIG 4.0 publié dans RHEL 9.0, SWIG 4.1:

  • Ajout de la prise en charge des versions 12 à 18 de Node.js et suppression de la prise en charge des versions antérieures à 6 de Node.js.
  • Ajout de la prise en charge de PHP 8.
  • Gère l'encapsulation de PHP entièrement via l'API C de PHP et ne génère plus d'encapsulation de .php par défaut.
  • Prend en charge uniquement Perl 5.8.0 et les versions ultérieures.
  • Ajout de la prise en charge des versions 3.9 à 3.11 de Python.
  • Seuls Python 3.3 et les versions ultérieures de Python 3 sont pris en charge, ainsi que Python 2.7.
  • Correction de diverses fuites de mémoire dans le code généré par Python.
  • Amélioration de la prise en charge des normes C99, C 11, C 14 et C 17 et début de la mise en œuvre de la norme C 20.
  • Prise en charge de la classe de pointeurs C std::unique_ptr.
  • Inclut plusieurs améliorations mineures dans la gestion des modèles C.
  • Correction de l'utilisation de la déclaration C dans plusieurs cas.

Pour installer le flux du module swig:4.1:

  1. Activer le référentiel CodeReady Linux Builder (CRB).
  2. Installer le flux de modules :

    # dnf module install swig:4.1

Bugzilla:2139101

Nouveau paquet : jmc dans le référentiel CRB

RHEL 9.2 introduit le profileur JDK Mission Control (JMC) pour les JVM HotSpot version 8.2.0, disponible en tant que paquet jmc dans le dépôt CodeReady Linux Builder (CRB) pour les architectures AMD et Intel 64 bits.

Pour installer la JMC, vous devez d'abord activer le référentiel CodeReady Linux Builder (CRB).

Notez que les paquets inclus dans le dépôt CRB ne sont pas pris en charge.

Bugzilla:2122401

Les attributs des services OpenJDK sont désormais disponibles en mode FIPS

Auparavant, les services et algorithmes cryptographiques disponibles pour OpenJDK en mode FIPS étaient filtrés de manière trop stricte et les attributs de service n'étaient pas disponibles. Avec cette amélioration, ces attributs de service sont désormais disponibles en mode FIPS.

Bugzilla:2186803

Performance Co-Pilot passe à la version 6.0

Performance Co-Pilot (PCP) a été mis à jour à la version 6.0. Les améliorations notables sont les suivantes :

  1. Prise en charge de l'archive PCP de la version 3 :

    Il s'agit notamment de la prise en charge des altérations des domaines d'instance, des horodatages Y2038, des horodatages à la nanoseconde près, des fuseaux horaires arbitraires et des décalages de fichiers 64 bits utilisés pour les volumes individuels plus importants (au-delà de 2 Go).

    Cette fonction est actuellement activée par l'intermédiaire du paramètre PCP_ARCHIVE_VERSION dans le fichier /etc/pcp.conf.

    Les archives de la version 2 restent les archives par défaut.

  2. Seul OpenSSL est utilisé dans l'ensemble du PCP. Mozilla NSS/NSPR n'est plus utilisé :

    Cela a un impact sur libpcp, PMAPI clients et PMCD l'utilisation du cryptage. Ces éléments sont maintenant configurés et utilisés de manière cohérente avec pmproxy HTTPS support et redis-server, qui utilisaient déjà OpenSSL.

  3. Nouvel horodatage avec une précision de l'ordre de la nanoseconde PMAPI appels pour les interfaces de la bibliothèque PCP qui utilisent des horodatages.

    Tous ces éléments sont facultatifs et une compatibilité ascendante totale est préservée pour les outils existants.

  4. Les outils et services suivants ont été mis à jour :

    pcp2elasticsearch
    Mise en place d'un support d'authentification.
    pcp-dstat
    Prise en charge des plugins top-alike.
    pcp-htop
    Mise à jour vers la dernière version stable en amont.
    pmseries
    Ajout des fonctions sum, avg, stdev, nth_percentile, max_inst, max_sample, min_inst et min_sample.
    pmdabpf
    Ajout de modules CO-RE (Compile Once - Run Everywhere) et prise en charge des systèmes AMD64, Intel 64 bits, ARM 64 bits et IBM Power.
    pmdabpftrace
    Les exemples de scripts de démarrage automatique ont été déplacés dans le répertoire /usr/share.
    pmdadenki
    Ajout de la prise en charge de plusieurs batteries actives.
    pmdalinux
    Mises à jour des dernières modifications apportées à /proc/net/netstat.
    pmdaopenvswitch
    Ajout de statistiques supplémentaires sur l'interface et la couverture.
    pmproxy
    Les paramètres de la demande peuvent désormais être envoyés dans le corps de la demande.
    pmieconf
    Ajout de plusieurs règles pmie pour les métriques Open vSwitch.
    pmlogger_farm
    Ajout d'un fichier de configuration par défaut pour les enregistreurs de fermes.
    pmlogger_daily_report
    Quelques améliorations majeures en matière d'efficacité.

    Bugzilla:2117074

grafana repassé à la version 9.0.9

Le paquet grafana a été rebasé à la version 9.0.9. Les changements notables sont les suivants :

  • Le panneau des séries temporelles est désormais l'option de visualisation par défaut, remplaçant le panneau des graphiques
  • Nouveau panneau de carte thermique
  • Nouveau générateur de requêtes pour Prometheus et Loki
  • Mise à jour des alertes Grafana
  • Améliorations multiples de l'interface utilisateur et des performances
  • La licence est passée d'Apache 2.0 à GNU Affero General Public License (AGPL)

Les fonctions suivantes sont proposées à titre expérimental et facultatif :

  • Nouveau panneau de diagrammes à barres
  • Nouveau groupe de travail sur la chronologie de l'État
  • Nouveau panneau d'historique des statuts
  • Nouveau panneau d'histogramme

Pour plus d'informations, voir : Nouveautés de Grafana v9.0 et Nouveautés de Grafana v8.0.

Bugzilla:2116847

grafana-pcp repassé à la version 5.1.1

Le paquetage grafana-pcp a été rebasé à la version 5.1.1. Les changements notables sont les suivants :

Éditeur de requêtes
ajout de boutons pour désactiver la conversation sur les taux et la conversation sur l'utilisation du temps.
Redis
suppression de la fonction label_values(metric, label) qui était obsolète.
Redis
correction de l'erreur de réseau pour les mesures comportant de nombreuses séries (nécessite Performance Co-Pilot v6 ).
Redis
fixer le délai d'attente de l'API pmproxy à 1 minute.

Bugzilla:2116848

Mise à jour du jeu d'outils GCC 12

GCC Toolset 12 est un ensemble d'outils de compilation qui fournit des versions récentes d'outils de développement. Il est disponible en tant que flux d'application sous la forme d'une collection de logiciels dans le dépôt AppStream.

Les changements notables introduits dans RHEL 9.2 sont les suivants :

  • Le compilateur GCC a été mis à jour vers la version 12.2.1, qui apporte de nombreuses corrections de bogues et améliorations disponibles dans la version amont de GCC.
  • annobin a été mis à jour à la version 11.08.

Les outils et versions suivants sont fournis par le Toolset 12 de GCC :

OutilVersion

CCG

12.2.1

GDB

11.2

binutils

2.38

dwz

0.14

annobin

11.08

Pour installer GCC Toolset 12, exécutez la commande suivante en tant que root :

# dnf install gcc-toolset-12

Pour exécuter un outil du GCC Toolset 12 :

$ scl enable gcc-toolset-12 tool

Pour lancer une session shell dans laquelle les versions des outils du Toolset 12 de GCC remplacent les versions système de ces outils :

$ scl enable gcc-toolset-12 bash

Pour plus d'informations, voir GCC Toolset 12.

Bugzilla:2110583

Le compilateur GCC mis à jour est désormais disponible pour RHEL 9.2

Le compilateur GCC du système, version 11.3.1, a été mis à jour pour inclure de nombreuses corrections de bogues et améliorations disponibles dans le GCC en amont.

La collection de compilateurs GNU (GCC) fournit des outils pour développer des applications avec les langages de programmation C, C , et Fortran.

Pour plus d'informations sur l'utilisation, voir Développement d'applications C et C dans RHEL 9.

Bugzilla:2117632

Le jeu d'outils LLVM passe à la version 15.0.7

LLVM Toolset a été mis à jour à la version 15.0.7. Les changements notables sont les suivants :

  • Les avertissements -Wimplicit-function-declaration et -Wimplicit-int sont activés par défaut dans C99 et les versions plus récentes. Ces avertissements deviendront des erreurs par défaut dans Clang 16 et au-delà.

Bugzilla:2118567

Rust Toolset repassé à la version 1.66.1

Rust Toolset a été mis à jour à la version 1.66.1. Les changements notables sont les suivants :

  • L'API thread::scope crée un champ lexical dans lequel les variables locales peuvent être empruntées en toute sécurité par les threads nouvellement créés, et ces threads sont tous assurés de quitter le champ lexical avant qu'il ne se termine.
  • L'API hint::black_box ajoute une barrière à l'optimisation du compilateur, ce qui est utile pour préserver le comportement dans les benchmarks qui pourraient autrement être optimisés.
  • Le mot-clé .await effectue désormais des conversions avec le trait IntoFuture, de manière similaire à la relation entre for et IntoIterator.
  • Les types génériques associés (GAT) permettent aux traits d'inclure des alias de type avec des paramètres génériques, ce qui permet de nouvelles abstractions sur les types et les durées de vie.
  • Une nouvelle instruction let-else permet de lier des variables locales avec une correspondance conditionnelle des motifs, en exécutant un bloc divergent else lorsque le motif ne correspond pas.
  • Les blocs étiquetés permettent aux instructions break de sauter à la fin du bloc, en incluant éventuellement une valeur d'expression.
  • rust-analyzer est une nouvelle implémentation du protocole du serveur de langue, qui permet la prise en charge de Rust dans de nombreux éditeurs. Il remplace l'ancien paquetage rls, mais vous devrez peut-être ajuster la configuration de votre éditeur pour migrer vers rust-analyzer.
  • Cargo dispose d'une nouvelle sous-commande cargo remove pour supprimer les dépendances de Cargo.toml.

Bugzilla:2123900

Go Toolset passe à la version 1.19.6

Go Toolset a été mis à jour à la version 1.19.6. Les changements notables sont les suivants :

  • Corrections de sécurité pour les paquets suivants :

    • crypto/tls
    • mime/multipart
    • net/http
    • path/filepath
  • Corrections de bugs :

    • La commande go
    • L'éditeur de liens
    • La durée d'exécution
    • Le paquet crypto/x509
    • Le paquet net/http
    • Le paquet time

Bugzilla:2175173

Le paquet tzdata comprend désormais le fichier /usr/share/zoneinfo/leap-seconds.list

Auparavant, le paquetage tzdata ne fournissait que le fichier /usr/share/zoneinfo/leapseconds. Certaines applications s'appuient sur le format alternatif fourni par le fichier /usr/share/zoneinfo/leap-seconds.list et, par conséquent, rencontrent des erreurs.

Avec cette mise à jour, le paquet tzdata comprend désormais les deux fichiers, ce qui permet de prendre en charge les applications qui reposent sur l'un ou l'autre format.

Bugzilla:2157982

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.