4.12. 컴파일러 및 개발 도구
Openblas
버전 0.3.21에 기반
OpenBLAS 라이브러리가 0.3.21 버전으로 업데이트되었습니다. 이번 업데이트에는 IBM POWER10 플랫폼의 성능 최적화 패치가 포함되어 있습니다.
Bugzilla:2112099
새 모듈 스트림: swig:4.1
RHEL 9.2에는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있는 swig:4.1
모듈 스트림으로 SWIG(Simplified Wrapper and Interface Generator) 버전 4.1이 도입되었습니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.
RHEL 9.0, SWIG 4.1
에 출시된 SWIG 4.0
과 비교:
-
Node.js
버전 12에서 18까지의 지원을 추가하고 6 개 미만의Node.js
버전을 지원하지 않습니다. -
PHP 8
에 대한 지원을 추가합니다. -
PHP
래핑은PHP
C API를 통해 전적으로 처리되며 더 이상 기본적으로.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에는 AMD 및 Intel 64비트 아키텍처용 CodeReady Linux Builder(CRB) 리포지토리에서 jmc
패키지로 사용 가능한 HotSpot JVM 버전 8.2.0용 JDK Mission Control(JMC) 프로파일 프로그램이 도입되었습니다.
JMC를 설치하려면 먼저 CodeReady Linux Builder (CRB) 리포지토리를 활성화해야 합니다.
CRB 리포지토리에 포함된 패키지는 지원되지 않습니다.
FIPS 모드에서 OpenJDK 서비스 속성 사용 가능
이전에는 FIPS 모드에서 OpenJDK에 사용 가능한 암호화 서비스 및 알고리즘이 너무 엄격하게 필터링되어 서비스 속성을 사용할 수 없었습니다. 이번 개선된 기능을 통해 이제 FIPS 모드에서 이러한 서비스 속성을 사용할 수 있습니다.
Performance Co-Pilot의 버전 6.0을 기반으로 재조정
PCP
( Performance Co-Pilot )가 버전 6.0으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.
버전 3 PCP 아카이브 지원:
여기에는 인스턴스 도메인 change-deltas, Y2038 안전 타임스탬프, 나노초-지정 타임스탬프, 임의의 시간대 지원, 대규모 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
-
최상위 플러그인에 대한 지원을 구현합니다
. pcp-htop
- 안정적인 최신 업스트림 릴리스로 업데이트되었습니다.
PMseries
-
합계
,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
- ball loggers에 대한 기본 구성 파일이 추가되었습니다.
pmlogger_daily_report
- 몇 가지 주요 효율성 개선.
Grafana
버전 9.0.9로 재기반
grafana
패키지는 버전 9.0.9로 변경되었습니다. 주요 변경 사항은 다음과 같습니다.
- 시계열 패널이 기본 시각화 옵션으로, 그래프 패널을 대체
- 새로운 heatmap 패널
- 새 Prometheus 및 CloudEvent 쿼리 빌더
- 업데이트된 Grafana 경고
- 다중 UI/Forwarded 및 성능 개선 사항
- 라이센스가 Apache 2.0에서 GNU Affero General Public License (AGPL)로 변경되었습니다.
다음은 옵트인 실험 기능으로 제공됩니다.
- 새로운 막대형 차트 패널
- 새로운 상태 타임라인 패널
- 새로운 상태 기록 패널
- 새로운 히스토그램 패널
자세한 내용은 Grafana v9.0의 새로운 기능 및 Grafana v 8.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
리포지토리에서 소프트웨어 컬렉션 형태로 애플리케이션 스트림으로 사용할 수 있습니다.
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 를 참조하십시오.
RHEL 9.2에서 업데이트된 GCC 컴파일러를 사용할 수 있습니다.
시스템 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
키워드는IntoFuture
특성을 사용한 변환을 수행하며, 이는IntoIterator
간의 관계와 유사합니다. - GAT(Generic associated types)를 사용하면 일반 매개변수로 형식 별칭을 포함할 수 있으므로 유형과 수명 모두에서 새로운 추상화를 사용할 수 있습니다.
-
새로운
let
-else
문을 사용하면 조건부 패턴 일치를 사용하여 로컬 변수를 바인딩하고, 패턴이 일치하지 않을 때 디버지다른
블록을 실행할 수 있습니다. -
레이블 블록에서는
break
문을 사용하여 선택적으로 표현식 값을 포함하여 블록의 끝으로 이동할 수 있습니다. -
rust-analyzer
는 많은 편집기에서 Rust 지원을 가능하게 하는 새로운 언어 서버 프로토콜 구현입니다. 이렇게 하면 이전rls
패키지가 교체되지만rust-analyzer
로 마이그레이션하도록 편집기 구성을 조정해야 할 수 있습니다. -
grarb
.toml
에서 종속성을 제거하기 위한 새로운 10.0.0.1remove
하위 명령이 있습니다.
Go Toolset rebased to 버전 1.19.6
Go Toolset이 버전 1.19.6으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
다음 패키지에 대한 보안 수정:
-
crypto/tls
-
MIME/multipart
-
net/http
-
path/filepath
-
다음의 버그 수정:
-
Go
명령 - 링커
- 런타임
-
crypto/x509
패키지 -
net/http
패키지 -
시간
패키지
-
Bugzilla:2175173
이제 tzdata
패키지에 /usr/share/zoneinfo/leap-seconds.list
파일이 포함됩니다.
이전에는 tzdata
패키지에서 /usr/share/zoneinfo/leapseconds
파일만 제공했습니다. 일부 애플리케이션은 /usr/share/zoneinfo/leap-seconds.list
파일에서 제공하는 대체 형식에 의존하여 결과적으로 오류가 발생합니다.
이번 업데이트를 통해 이제 tzdata
패키지에 두 형식의 형식을 사용하는 애플리케이션을 지원하는 두 파일이 모두 포함되어 있습니다.
Bugzilla:2157982