From 2c3b9bbdb114cc13b6ef8e0e5933c9e374fca8b6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 12 Mar 2024 00:45:59 +0000 Subject: gentoo auto-resync : 12:03:2024 - 00:45:59 --- .../files/caffe2-2.1.2-rocm-fix-std-cpp17.patch | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch (limited to 'sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch') diff --git a/sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch b/sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch new file mode 100644 index 000000000000..cb0fa0c48e80 --- /dev/null +++ b/sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch @@ -0,0 +1,68 @@ +Fix for error: invalid argument '-std=c++17' not allowed with 'C' +https://github.com/pytorch/pytorch/issues/103222 +--- a/c10/hip/CMakeLists.txt ++++ b/c10/hip/CMakeLists.txt +@@ -30,6 +30,7 @@ hip_add_library(c10_hip ${C10_HIP_SRCS} ${C10_HIP_HEADERS}) + + # Propagate HIP_CXX_FLAGS that were set from Dependencies.cmake + target_compile_options(c10_hip PRIVATE ${HIP_CXX_FLAGS}) ++set_target_properties(c10_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF) + + # caffe2_hip adds a bunch of dependencies like rocsparse, but c10/hip is supposed to be + # minimal. I'm not sure if we need hip_hcc or not; for now leave it out +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -1598,6 +1598,7 @@ if(USE_ROCM) + + # Since PyTorch files contain HIP headers, these flags are required for the necessary definitions to be added. + target_compile_options(torch_hip PUBLIC ${HIP_CXX_FLAGS}) # experiment ++ set_target_properties(torch_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF) + target_link_libraries(torch_hip PUBLIC c10_hip) + + if(NOT INTERN_BUILD_MOBILE) +@@ -1774,6 +1775,7 @@ if(BUILD_TEST) + target_include_directories(${test_name} PRIVATE $) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE} ${Caffe2_HIP_INCLUDE}) + target_compile_options(${test_name} PRIVATE ${HIP_CXX_FLAGS}) ++ set_target_properties(${test_name} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF) + add_test(NAME ${test_name} COMMAND $) + if(INSTALL_TEST) + install(TARGETS ${test_name} DESTINATION test) +@@ -1955,6 +1957,7 @@ if(BUILD_PYTHON) + endif() + if(NOT MSVC) + target_compile_options(caffe2_pybind11_state_hip PRIVATE ${HIP_CXX_FLAGS} -fvisibility=hidden) ++ set_target_properties(caffe2_pybind11_state_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF) + endif() + set_target_properties(caffe2_pybind11_state_hip PROPERTIES PREFIX "") + set_target_properties(caffe2_pybind11_state_hip PROPERTIES SUFFIX ${PY_EXT_SUFFIX}) +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -1287,7 +1287,6 @@ if(USE_ROCM) + list(APPEND HIP_CXX_FLAGS -Wno-duplicate-decl-specifier) + list(APPEND HIP_CXX_FLAGS -DCAFFE2_USE_MIOPEN) + list(APPEND HIP_CXX_FLAGS -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP) +- list(APPEND HIP_CXX_FLAGS -std=c++17) + add_definitions(-DROCM_VERSION=${ROCM_VERSION_DEV_INT}) + add_definitions(-DTORCH_HIP_VERSION=${TORCH_HIP_VERSION}) + message("TORCH_HIP_VERSION=${TORCH_HIP_VERSION} is added as a compiler defines") +--- a/cmake/public/utils.cmake ++++ b/cmake/public/utils.cmake +@@ -335,6 +335,7 @@ function(caffe2_hip_binary_target target_name_or_src) + caffe2_binary_target(${target_name_or_src}) + + target_compile_options(${__target} PRIVATE ${HIP_CXX_FLAGS}) ++ set_target_properties(${__target} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF) + target_include_directories(${__target} PRIVATE ${Caffe2_HIP_INCLUDE}) + endfunction() + +--- a/modules/detectron/CMakeLists.txt ++++ b/modules/detectron/CMakeLists.txt +@@ -31,6 +31,7 @@ if(BUILD_CAFFE2_OPS) + ${Detectron_CPU_SRCS} + ${Detectron_HIP_SRCS}) + target_compile_options(caffe2_detectron_ops_hip PRIVATE ${HIP_CXX_FLAGS}) ++ set_target_properties(caffe2_detectron_ops_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF) + if(USE_MKLDNN) + target_link_libraries(caffe2_detectron_ops_hip PRIVATE caffe2::mkldnn) + endif() -- cgit v1.2.3