Skip to content

Commit 24db098

Browse files
committed
Fix PAX build failure on GCC 8.x (Rocky Linux 8)
1. Remove explicit -Werror=pessimizing-move flag from CMakeLists.txt. This flag was added in commit e7e07c2 to catch pessimizing-move warnings on higher GCC versions, but it breaks compilation on GCC 8.x where this warning option does not exist. The fix is safe because GCC 9+ enables -Wpessimizing-move by default and the existing -Werror flag already converts all warnings to errors. 2. Fix fast_io.cc compatibility issues: - Add missing <unistd.h> include for pread() - Define uring_likely macro fallback for older liburing versions See: Issue#1441 <https://github.com/apache/cloudberry/issues/1441\>
1 parent 57063e1 commit 24db098

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

contrib/pax_storage/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ set(CMAKE_CXX_STANDARD 17)
2121
set(TOP_DIR ${PROJECT_SOURCE_DIR}/../..)
2222
set(CBDB_INCLUDE_DIR ${TOP_DIR}/src/include)
2323
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
24-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Werror=pessimizing-move -Wno-unused-function -Wno-error=ignored-qualifiers -Wno-error=array-bounds -Wuninitialized -Winit-self -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-parameter -Wno-clobbered -Wno-sized-deallocation -g")
24+
# Base CXX flags
25+
# Note: -Wpessimizing-move is enabled by default in GCC 9+ and will be caught by -Werror
26+
# No need to explicitly add -Werror=pessimizing-move (which breaks GCC 8.x compatibility)
27+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-unused-function -Wno-error=ignored-qualifiers -Wno-error=array-bounds -Wuninitialized -Winit-self -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-parameter -Wno-clobbered -Wno-sized-deallocation -g")
2528
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused-parameter -Wno-parameter-name")
2629

2730
option(USE_MANIFEST_API "Use manifest API" OFF)

contrib/pax_storage/src/cpp/comm/fast_io.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@
2727

2828
#include "fast_io.h"
2929

30+
#include <unistd.h> // for pread
31+
32+
// uring_likely may not be defined in older liburing versions
33+
#ifndef uring_likely
34+
#define uring_likely(x) __builtin_expect(!!(x), 1)
35+
#endif
36+
3037
namespace pax
3138
{
3239

0 commit comments

Comments
 (0)