[
https://issues.apache.org/jira/browse/IMPALA-14787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joe McDonnell resolved IMPALA-14787.
------------------------------------
Fix Version/s: Impala 5.0.0
Resolution: Fixed
Native-toolchain change is:
{noformat}
commit c6c5175c0fd3396ed9a589e62d09ec406b96a7d0
Author: Joe McDonnell <[email protected]>
Date: Thu Jun 11 12:23:54 2026 -0700 IMPALA-14787: Add support for Redhat
10
This adds a Redhat 10 container based on Rocky 10.1.
There are various minor fix ups:
- Redhat 10 only has JDK >=21 in its package repositories,
but we haven't started testing with JDK 21 yet. This uses
the Temurin OpenJDK 17 build from Adoptium to get the
build going until we support JDK 21 (and know that Kudu
builds with JDK 21). The assert-dependencies-present.py
check for the Java version now accepts either 1.8.0 or 17.0.
- Kudu doesn't detect some JDK 17 locations properly
(including this Temurin install), so this adds logic to
set JAVA_HOME when using JDK 17. This also helps with
SLES 16. This can be removed when this is fixed on the
Kudu side.
- assert-dependencies-present.py uses distutils to check
whether necessary binaries are present on the PATH.
distutils requires an extra dependency and provides
little value, so this switches to shutil.which()
- Redhat 10's version of uname is more POSIX compliant,
so "uname -p" (processor type) returns "unknown". This
switches to using "uname -m" (machine hardware name),
which provides the same information.
- Newer distributions have system headers that rely on the
__has_include(...) to avoid duplicate definitions. GCC
versions before 12 improperly apply "fixincludes" on these
headers and break them. In particular, this is a problem
for "sys/mount.h" / "linux/mount.h" / "linux/fs.h".
This patches GCC with the fix from GCC 12:
https://github.com/gcc-mirror/gcc/commit/6bf383c37e6131a8e247e8a0997d55d65c830b6d
- Redhat 10 switched to zlib-ng and zlib-ng installs CMake
config files in /usr/lib64/cmake/ZLIB. Opentelemetry
sets CMAKE_FIND_PACKAGE_PREFER_CONFIG=TRUE, so it prefers
that zlib CMake config files over our toolchain zlib. This
applies a patch to opentelemetry-cpp to force the
find_packages(ZLIB ...) call to use the FindZLIB.cmake
module to find our toolchain zlib rather than the system
CMake config file.
This does not support Redhat 10 ARM yet, as there are a
couple dependencies that need patches, including Kudu. That
will be fixed in a follow-up JIRA.
Change-Id: I9c965c0e262113df6320e46f2bb793afa16bda30
Reviewed-on: http://gerrit.cloudera.org:8080/24457
Reviewed-by: Laszlo Gaal <[email protected]>
Reviewed-by: Joe McDonnell <[email protected]>
Tested-by: Joe McDonnell <[email protected]>
{noformat}
> Add support for building on Redhat 10
> -------------------------------------
>
> Key: IMPALA-14787
> URL: https://issues.apache.org/jira/browse/IMPALA-14787
> Project: IMPALA
> Issue Type: Task
> Components: Infrastructure
> Affects Versions: Impala 5.0.0
> Reporter: Joe McDonnell
> Assignee: Joe McDonnell
> Priority: Major
> Fix For: Impala 5.0.0
>
>
> Redhat 10 came out recently, and we should look into adding support. Since we
> already support Ubuntu 24, the compiler and libc versions should be ok. One
> complication is that Redhat 10 only has JDK 21 and 25 in its repository, so
> there may be some changes needed there.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)