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 deNode.js
. -
Ajout de la prise en charge de
PHP 8
. -
Gère l'encapsulation de
PHP
entièrement via l'API C dePHP
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 dePython 3
sont pris en charge, ainsi quePython 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
:
- Activer le référentiel CodeReady Linux Builder (CRB).
Installer le flux de modules :
# dnf module install swig:4.1
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.
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.
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 :
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.
Seul OpenSSL est utilisé dans l'ensemble du PCP. Mozilla NSS/NSPR n'est plus utilisé :
Cela a un impact sur
libpcp
,PMAPI
clients etPMCD
l'utilisation du cryptage. Ces éléments sont maintenant configurés et utilisés de manière cohérente avecpmproxy
HTTPS support etredis-server
, qui utilisaient déjà OpenSSL.Nouvel horodatage avec une précision de l'ordre de la nanoseconde
PMAPI
appels pour les interfaces de la bibliothèquePCP
qui utilisent des horodatages.Tous ces éléments sont facultatifs et une compatibilité ascendante totale est préservée pour les outils existants.
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
etmin_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é.
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 :
Outil | Version |
---|---|
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.
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.
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à.
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 traitIntoFuture
, de manière similaire à la relation entrefor
etIntoIterator
. - 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 divergentelse
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 paquetagerls
, mais vous devrez peut-être ajuster la configuration de votre éditeur pour migrer versrust-analyzer
. -
Cargo dispose d'une nouvelle sous-commande
cargo remove
pour supprimer les dépendances deCargo.toml
.
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
-
La commande
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