From 41e5667b78bb9171af2c97fd8c06d742657fcc7c Mon Sep 17 00:00:00 2001 From: risemeup1 <62429225+risemeup1@users.noreply.github.com> Date: Thu, 2 Mar 2023 17:04:27 +0800 Subject: [PATCH] fix_gcc12_error when compiling gloo (#51018) * fix gcc12 error * patch on device.cc * fix gcc error while compiling gloo --- cmake/external/gloo.cmake | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake/external/gloo.cmake b/cmake/external/gloo.cmake index a13772d5de..8f739adc75 100755 --- a/cmake/external/gloo.cmake +++ b/cmake/external/gloo.cmake @@ -41,7 +41,20 @@ if(WITH_GPU) ${native_dst}) endif() endif() - +if(CMAKE_COMPILER_IS_GNUCC) + execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpfullversion -dumpversion + OUTPUT_VARIABLE GCC_VERSION) + string(REGEX MATCHALL "[0-9]+" GCC_VERSION_COMPONENTS ${GCC_VERSION}) + list(GET GCC_VERSION_COMPONENTS 0 GCC_MAJOR) + list(GET GCC_VERSION_COMPONENTS 1 GCC_MINOR) + set(GCC_VERSION "${GCC_MAJOR}.${GCC_MINOR}") + if(GCC_VERSION GREATER_EQUAL "12.0") + file(TO_NATIVE_PATH ${PADDLE_SOURCE_DIR}/patches/gloo/device.cc.patch + native_dst) + set(GLOO_PATCH_COMMAND patch -d ${GLOO_SOURCE_DIR}/gloo/transport/tcp < + ${native_dst}) + endif() +endif() include_directories(${GLOO_INCLUDE_DIR}) if(WITH_ASCEND OR WITH_ASCEND_CL) -- GitLab