Red Hat Training

A Red Hat training course is available for RHEL 8

16.5. 컴파일러 및 개발 도구의 호환성 저하 변경 사항

librtkaio 제거

이번 업데이트를 통해 librtkaio 라이브러리가 제거되었습니다. 이 라이브러리는 Linux 커널 비동기 I/O 지원(KAIO)을 기반으로 한 일부 파일에 대해 고성능 비동기 I/O 액세스를 제공했습니다.

제거로 인해:

  • librtkaio 를 로드하기 위해 LD_PRELOAD 방법을 사용하는 애플리케이션에서 누락된 라이브러리에 대한 경고를 표시하고 librt 라이브러리를 로드하고 올바르게 실행합니다.
  • LD_LIBRARY_PATH 방법을 사용하는 애플리케이션은 librt library를 대신 로드하고 경고 없이 올바르게 실행합니다.
  • dlopen() 시스템 호출을 사용하여 librtkaio 에 액세스하는 애플리케이션에서는 librt 라이브러리를 직접 로드합니다.

librtkaio 사용자는 다음과 같은 옵션을 사용할 수 있습니다.

  • 애플리케이션을 변경하지 않고 위에 설명된 대체 메커니즘을 사용합니다.
  • 호환되는 POSIX 호환 API를 제공하는 librt 라이브러리를 사용하도록 애플리케이션 코드를 변경합니다.
  • 호환되는 API를 제공하는 libaio 라이브러리를 사용하도록 애플리케이션 코드를 변경합니다.

librtlibaio 는 모두 특정 조건에서 비교할 수 있는 기능과 성능을 제공할 수 있습니다.

libaio 패키지에는 Red Hat 호환성 수준이 2인 반면 librtklibrtkaio 수준 1이 제거되었습니다.

자세한 내용은 https://fedoraproject.org/wiki/Changes/GLIBC223_librtkaio_removal을 참조하십시오.

glibc에서 삭제되는 Sun RPC 및 NIS 인터페이스

glibc 라이브러리는 더 이상 새 애플리케이션에 대한 Sun RPC 및 NIS 인터페이스를 제공하지 않습니다. 이러한 인터페이스는 이제 레거시 애플리케이션을 실행하는 경우에만 사용할 수 있습니다. 개발자는 NIS 대신 Sun RPC 및 libnsl2 대신 libtirpc 라이브러리를 사용하도록 애플리케이션을 변경해야 합니다. 애플리케이션은 교체 라이브러리에서 IPv6 지원의 이점을 얻을 수 있습니다.

32비트 Xen용 nosegneg 라이브러리가 제거되었습니다.

이전에는 glibc i686 패키지에는 대체 glibc 빌드가 포함되어 있어 스레드 설명자 세그먼트를 음수 오프셋(nosegneg)으로 등록하지 못했습니다. 이러한 대체 빌드는 하드웨어 가상화 지원 없이 32비트 버전의 Xen Project 하이퍼바이저에서만 사용되어 전체 반가상화 비용을 줄이기 위한 최적화로 사용되었습니다. 이러한 대체 빌드는 더 이상 사용되지 않으며 제거되었습니다.

새 연산자를 만듭니다 != 은 기존 makefile 구문을 다르게 해석합니다.

$(shell …​ 대신 GNU make!= 쉘 할당 연산자가 추가되었습니다.) BSD makefile과의 호환성을 높이기 위한 기능입니다. 결과적으로 이름이 느낌표로 끝나는 변수와 variable!=value 와 같은 할당이 바로 뒤에 쉘 할당으로 해석됩니다. 이전 동작을 복원하려면 variable! =value와 같이 느낌표 뒤에 공백을 추가하십시오.

연산자와 함수 간 차이점에 대한 자세한 내용은 GNU make 매뉴얼을 참조하십시오.

MPI 디버깅 지원을 위한 Valgrind 라이브러리 제거

valgrind-openmpi 패키지에서 제공하는 Valgrind 에 대한 libmpiwrap.so 래퍼 라이브러리가 제거되었습니다. 이 라이브러리를 통해 Valgrind 에서 Message Passing Interface(MPI)를 사용하여 프로그램을 디버그할 수 있었습니다. 이 라이브러리는 이전 버전의 Red Hat Enterprise Linux에서 Open MPI 구현 버전에 한정되었습니다.

libmpiwrap.so 사용자는 MPI 구현 및 버전에 따라 업스트림 소스에서 자체 버전을 빌드하는 것이 좋습니다. LD_PRELOAD 기술을 사용하여 이러한 사용자 정의 라이브러리를 Valgrind 에 제공합니다.

개발 헤더 및 정적 라이브러리가 valgrind-devel에서 제거됨

이전 버전에서는 사용자 지정 valgrind 툴을 개발하기 위한 개발 파일을 포함하는 데 사용되는 valgrind-devel 하위 패키지 이번 업데이트에서는 보장된 API가 없으므로 이러한 파일을 제거하고 정적으로 연결해야 하며 지원되지 않습니다. valgrind-devel 패키지에는 여전히 valgrind-aware 프로그램과 같은 valgrind 프로그램 및 헤더 파일(예: valgrind.h,drd.h, helgrind.h ,helgrind.h, memcheck.h )이 포함되어 있습니다. 이는 안정적이고 잘 지원되지 않습니다.