Hello Laszlo Gaal, Csaba Ringhofer, Michael Smith,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/24457
to look at the new patch set (#4).
Change subject: IMPALA-14787: Add support for Redhat 10
......................................................................
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.
Change-Id: I9c965c0e262113df6320e46f2bb793afa16bda30
---
M Makefile
M buildall.sh
M docker/all/assert-dependencies-present.py
M docker/all/postinstall.sh
M docker/buildall.py
A docker/redhat/adoptium.repo
A docker/redhat10.df
M in-docker.py
M init.sh
M source/gcc/build.sh
A source/gcc/gcc-10.4.0-patches/0003-Fix-fixincludes-for-__has_include.patch
M source/kudu/build.sh
A
source/opentelemetry-cpp/opentelemetry-cpp-1.20.0-patches/0001-PATCH-Use-module-for-zlib-dep.patch
13 files changed, 206 insertions(+), 15 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/native-toolchain
refs/changes/57/24457/4
--
To view, visit http://gerrit.cloudera.org:8080/24457
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: native-toolchain
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9c965c0e262113df6320e46f2bb793afa16bda30
Gerrit-Change-Number: 24457
Gerrit-PatchSet: 4
Gerrit-Owner: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Laszlo Gaal <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>