![새로운 glibc 버전을 이전 커널과 함께 사용할 수 있습니까?](https://linux55.com/image/16554/%EC%83%88%EB%A1%9C%EC%9A%B4%20glibc%20%EB%B2%84%EC%A0%84%EC%9D%84%20%EC%9D%B4%EC%A0%84%20%EC%BB%A4%EB%84%90%EA%B3%BC%20%ED%95%A8%EA%BB%98%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
--enable-kernel
분명히 glibc는 이전 커널 버전을 지원하도록 컴파일될 수 있습니다 . 그런데 정보를 못찾았네요특정 버전의 glibc에서 지원되는 커널 버전. 이상적으로는 각 glibc(2.x) 및 커널(2.6.x) 버전에 대한 호환성 매트릭스를 보고 싶습니다. 존재합니까?
존재하지 않는다면 아마도 모든 glibc 버전(지난 5년 정도)이 2.6.0 이후의 모든 커널을 지원하기 때문일까요?
(중요한 경우 Arch=x86-64)
답변1
일부 버전의 경우 glibc
공지 이메일에 호환되는 커널 버전이 표시됩니다.
glibc Released Requires Linux kernel version
----------------------------------------------------------
2.34 1 Aug 2021 ? (same as 2.26?)
2.33 1 Feb 2021 ? (same as 2.26?)
2.32 5 Aug 2020 ? (same as 2.26?)
2.31 1 Feb 2020 ? (same as 2.26?)
2.30 1 Aug 2019 ? (same as 2.26?)
2.29 1 Feb 2019 ? (same as 2.26?)
2.28 1 Aug 2018 ? (same as 2.26?)
2.27 2 Feb 2018 ? (same as 2.26?)
2.26 2 Aug 2017 3.2 (or higher)
2.25 5 Feb 2017 ? (same as 2.24?)
2.24 4 Aug 2016 on i[4567]86 and x86_64 -> 2.6.32
2.24 4 Aug 2016 on other platforms -> 3.2
Note 1: Some minor architectures require a higher kernel version than
listed above.
Note 2: Your Linux distribution may vary from the above, as Glibc can
optionally be configured at compile time to require a kernel
version newer than the oldest supported version.
아마도 위의 표는 더 많은 이전(또는 새로운) 공지 이메일을 추적하고 읽으면 확장될 수 있습니다 glibc
.
참고로:
Linux distribution glibc version Requires Linux kernel version
Debian 11 Bullseye 2.31 3.2 ?
Debian 10 Buster 2.28 3.2 ?
Debian 9 Stretch 2.24 on x86 2.6.32
Debian 9 Stretch 2.24 on other 3.2
Ubuntu 20.04 2.31 3.2
Ubuntu 18.04 2.27 3.2
Ubuntu 17.10 2.26 3.2
Ubuntu 17.04 2.24 ?
Ubuntu 16.10 2.24 ?
Ubuntu 16.04 2.23 ?
원천:
GNU C 라이브러리 출시 일정
GNU C 라이브러리(glibc)
이제 GNU C 라이브러리 버전 2.27을 사용할 수 있습니다.
이제 GNU C 라이브러리 버전 2.26을 사용할 수 있습니다.
이제 GNU C 라이브러리 버전 2.25를 사용할 수 있습니다.
이제 GNU C 라이브러리 버전 2.24를 사용할 수 있습니다.
DistroWatch.com: 우분투
우분투 glibcMIN_KERNEL_SUPPORTED
답변2
소스를 확인하실 수 있습니다. 일반 종속성은 다음에 정의되어 있습니다.sysdeps/unix/sysv/linux/configure.ac현재(마스터 브랜치에서는 버전 2.32 이전) 3.2.0입니다.
몇 가지 아키텍처별 종속성이 있습니다. 예를 들어 현재 마스터 브랜치(2.32 이전 버전)에서 검색 arch_minimum_kernel
하세요 .sysdeps/unix/sysv/linux/[arch]/configure
- 건축 64:3.7.0
- 하늘:4.20.0
- ia64: 3.2.18
- Meaps:4.5.0
- 네오스 2:3.19.0
- 전원 공급 장치 PC64:3.10.0
- 리스크:4.15.0
- x32:3.4.0
100% 정확하지는 않지만 RISC-V의 변경 사항을 참조하세요.정보:64비트 RISC-V에는 최소 커널 헤더 버전 5.0이 필요합니다..
답변3
프로젝트에 따르면읽어보기 파일2.6 이전 커널과 함께 glibc 2.4를 사용할 수 있지만 일부 기능이 손실됩니다.
Linux 커널을 사용하는 경우 GNU C 라이브러리 버전 2.4는 주로 Linux 커널 버전 2.6.0 이상과 함께 사용됩니다. 우리는 현재 기본 구성인 pthread를 사용하는 NPTL 구현만 지원합니다. 대부분의 C 라이브러리는 이전 Linux 커널에서 계속 작동하며 많은 프로그램은 올바르게 실행하기 위해 2.6 커널이 필요하지 않습니다. 그러나 pthread 및 관련 기능은 이전 커널에서는 작동하지 않으며 2.6 이전의 Linux 커널에서는 glibc 2.4를 사용하지 않는 것이 좋습니다.
이는 다음을 --enable-kernel=VERSION
의미합니다.
이전 커널과의 호환성을 위해 컴파일