mcst-linux-kernel/patches-2024.06.26/hadoop-3.2.2/0007-glibc2.32-compatibilit...

32 lines
1.6 KiB
Diff

Link: https://github.com/apache/hadoop/commit/2717203f858ff654de0fc01cfb9afef2e705e33c
Subject: fix build with glibc>=2.32
Bug: 152241
Tags: common
diff -rupN a/hadoop-common-project/hadoop-common/src/main/native/src/exception.c b/hadoop-common-project/hadoop-common/src/main/native/src/exception.c
--- a/hadoop-common-project/hadoop-common/src/main/native/src/exception.c 2023-09-05 15:23:32.368583962 +0300
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/exception.c 2023-09-05 15:25:02.876556468 +0300
@@ -111,8 +111,8 @@ jthrowable newIOException(JNIEnv* env, c
const char* terror(int errnum)
{
-#if defined(__sun)
-// MT-Safe under Solaris which doesn't support sys_errlist/sys_nerr
+#if defined(__sun) || defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 32)
+// MT-Safe under Solaris or glibc >= 2.32 not supporting sys_errlist/sys_nerr
return strerror(errnum);
#else
if ((errnum < 0) || (errnum >= sys_nerr)) {
diff -rupN a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt
--- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt 2023-09-05 15:23:05.225189981 +0300
+++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt 2023-09-05 15:26:06.960959726 +0300
@@ -65,6 +65,8 @@ if(WIN32)
set(OUT_DIR bin)
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
+ # using old default behavior on GCC >= 10.0
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcommon")
set(OS_DIR ${CMAKE_SOURCE_DIR}/main/native/libhdfs/os/posix)
# IMPORTANT: OUT_DIR MUST be relative to maven's