- Drop Compile_with_FILE_OFFSET_BITS_64_on_32-bit_Linux.patch (accepted by upstream) - Drop disable_fileapi_json_extra_test.patch (no longer needed) - New patch Fix-cross-compilation-with-MPI.patch (Closes: #943312) Gbp-Dch: fullci/unstable
parent
7702a7c26c
commit
274e688012
@ -0,0 +1,62 @@
|
|||||||
|
From: =?utf-8?q?Timo_R=C3=B6hling?= <roehling@debian.org>
|
||||||
|
Date: Tue, 14 Sep 2021 17:04:48 +0200
|
||||||
|
Subject: Fix cross compilation with MPI
|
||||||
|
|
||||||
|
---
|
||||||
|
Modules/FindMPI.cmake | 36 +++++++++++++++++++++++++++++++++++-
|
||||||
|
1 file changed, 35 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
|
||||||
|
index d8f0334..f7faa54 100644
|
||||||
|
--- a/Modules/FindMPI.cmake
|
||||||
|
+++ b/Modules/FindMPI.cmake
|
||||||
|
@@ -267,6 +267,7 @@ cmake_policy(PUSH)
|
||||||
|
cmake_policy(SET CMP0057 NEW) # if IN_LIST
|
||||||
|
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||||
|
+include(${CMAKE_CURRENT_LIST_DIR}/FindPkgConfig.cmake)
|
||||||
|
|
||||||
|
# Generic compiler names
|
||||||
|
set(_MPI_C_GENERIC_COMPILER_NAMES mpicc mpcc mpicc_r mpcc_r)
|
||||||
|
@@ -1523,7 +1524,40 @@ foreach(LANG IN ITEMS C CXX Fortran)
|
||||||
|
if(NOT MPI_PINNED_COMPILER AND NOT MPI_${LANG}_WRAPPER_FOUND)
|
||||||
|
# If MPI_PINNED_COMPILER wasn't given, and the MPI compiler we potentially found didn't work, we withdraw it.
|
||||||
|
set(MPI_${LANG}_COMPILER "MPI_${LANG}_COMPILER-NOTFOUND" CACHE FILEPATH "MPI compiler for ${LANG}" FORCE)
|
||||||
|
- if(NOT MPI_SKIP_GUESSING)
|
||||||
|
+
|
||||||
|
+ if(LANG STREQUAL "C")
|
||||||
|
+ set(_MPI_PKG "mpi-c")
|
||||||
|
+ elseif(LANG STREQUAL "CXX")
|
||||||
|
+ set(_MPI_PKG "mpi-cxx")
|
||||||
|
+ elseif(LANG STREQUAL "Fortran")
|
||||||
|
+ set(_MPI_PKG "mpi-fort")
|
||||||
|
+ else()
|
||||||
|
+ set(_MPI_PKG "")
|
||||||
|
+ endif()
|
||||||
|
+ if(_MPI_PKG)
|
||||||
|
+ pkg_check_modules("MPI_${LANG}_PKG" "${_MPI_PKG}")
|
||||||
|
+ if("${MPI_${LANG}_PKG_FOUND}")
|
||||||
|
+ set(MPI_${LANG}_COMPILE_OPTIONS ${MPI_${LANG}_PKG_CFLAGS} CACHE STRING "MPI ${LANG} compilation options" FORCE)
|
||||||
|
+ set(MPI_${LANG}_INCLUDE_PATH ${MPI_${LANG}_PKG_INCLUDE_DIRS} CACHE STRING "MPI ${LANG} include directories" FORCE)
|
||||||
|
+ set(MPI_${LANG}_LINK_FLAGS ${MPI_${LANG}_PKG_LDFLAGS} CACHE STRING "MPI ${LANG} linker flags" FORCE)
|
||||||
|
+ set(MPI_${LANG}_LIB_NAMES ${MPI_${LANG}_PKG_LIBRARIES} CACHE STRING "MPI ${LANG} libraries to link against" FORCE)
|
||||||
|
+ foreach(_MPI_LIB IN LISTS MPI_${LANG}_LIB_NAMES)
|
||||||
|
+ if(_MPI_LIB)
|
||||||
|
+ get_filename_component(_MPI_PLAIN_LIB_NAME "${_MPI_LIB}" NAME_WE)
|
||||||
|
+ get_filename_component(_MPI_LIB_NAME "${_MPI_LIB}" NAME)
|
||||||
|
+ get_filename_component(_MPI_LIB_DIR "${_MPI_LIB}" DIRECTORY)
|
||||||
|
+ find_library(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY
|
||||||
|
+ NAMES "${_MPI_LIB_NAME}" "lib${_MPI_LIB_NAME}"
|
||||||
|
+ HINTS ${_MPI_LIB_DIR}
|
||||||
|
+ DOC "Location of the ${_MPI_PLAIN_LIB_NAME} library for MPI"
|
||||||
|
+ )
|
||||||
|
+ mark_as_advanced(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY)
|
||||||
|
+ endif()
|
||||||
|
+ endforeach()
|
||||||
|
+ endif()
|
||||||
|
+ endif()
|
||||||
|
+
|
||||||
|
+ if(NOT MPI_SKIP_GUESSING AND NOT "${MPI_${LANG}_PKG_FOUND}")
|
||||||
|
# For C++, we may use the settings for C. Should a given compiler wrapper for C++ not exist, but one for C does, we copy over the
|
||||||
|
# settings for C. An MPI distribution that is in this situation would be IBM Platform MPI.
|
||||||
|
if("${LANG}" STREQUAL "CXX" AND MPI_C_WRAPPER_FOUND)
|
@ -1,34 +0,0 @@
|
|||||||
From 5b10f96793ab6f3a4ef446d67c09ea91b7898584 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marc Chevrier <marc.chevrier@gmail.com>
|
|
||||||
Date: Wed, 23 Sep 2020 18:06:35 +0200
|
|
||||||
Subject: [PATCH] Linux: Compile with _FILE_OFFSET_BITS=64 on 32-bit Linux
|
|
||||||
|
|
||||||
To avoid problems accessing filesystem, use 64-bit file offsets when
|
|
||||||
compilation model is 32-bit. This explicit definition is needed now
|
|
||||||
that KWSys does not provide LFS settings in its headers anymore.
|
|
||||||
|
|
||||||
Fixes: #20568
|
|
||||||
---
|
|
||||||
CompileFlags.cmake | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/CompileFlags.cmake b/CompileFlags.cmake
|
|
||||||
index 053259f47c..1c5f1beca9 100644
|
|
||||||
--- a/CompileFlags.cmake
|
|
||||||
+++ b/CompileFlags.cmake
|
|
||||||
@@ -53,6 +53,12 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^parisc")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
+# Use 64-bit off_t on 32-bit Linux
|
|
||||||
+if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
|
||||||
+ # ensure 64bit offsets are used for filesystem accesses for 32bit compilation
|
|
||||||
+ add_definitions(-D_FILE_OFFSET_BITS=64)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
# Workaround for TOC Overflow on ppc64
|
|
||||||
set(bigTocFlag "")
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "AIX" AND
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
|||||||
Disable this specific test as it fails with libjsoncpp 1.7.4 (but works with 1.8.4).
|
|
||||||
This libjsoncpp version seems to accept this invalid json file.
|
|
||||||
While not ideal this doesn't seem critical and will be fixed once the new version
|
|
||||||
reaches Debian proper.
|
|
||||||
|
|
||||||
--- a/Tests/RunCMake/FileAPI/ClientStateful-check.cmake
|
|
||||||
+++ b/Tests/RunCMake/FileAPI/ClientStateful-check.cmake
|
|
||||||
@@ -10,8 +10,6 @@ set(expect
|
|
||||||
query/client-json-bad-root/query.json
|
|
||||||
query/client-json-empty
|
|
||||||
query/client-json-empty/query.json
|
|
||||||
- query/client-json-extra
|
|
||||||
- query/client-json-extra/query.json
|
|
||||||
query/client-not-file
|
|
||||||
query/client-not-file/query.json
|
|
||||||
query/client-request-array-negative-major-version
|
|
||||||
diff --git a/Tests/RunCMake/FileAPI/ClientStateful-check.py b/Tests/RunCMake/FileAPI/ClientStateful-check.py
|
|
||||||
--- a/Tests/RunCMake/FileAPI/ClientStateful-check.py
|
|
||||||
+++ b/Tests/RunCMake/FileAPI/ClientStateful-check.py
|
|
||||||
@@ -8,7 +8,6 @@ def check_reply(q):
|
|
||||||
"client-empty-object",
|
|
||||||
"client-json-bad-root",
|
|
||||||
"client-json-empty",
|
|
||||||
- "client-json-extra",
|
|
||||||
"client-not-file",
|
|
||||||
"client-request-array-negative-major-version",
|
|
||||||
"client-request-array-negative-minor-version",
|
|
||||||
@@ -39,7 +38,6 @@ def check_reply(q):
|
|
||||||
(check_query_empty_object, "client-empty-object"),
|
|
||||||
(check_query_json_bad_root, "client-json-bad-root"),
|
|
||||||
(check_query_json_empty, "client-json-empty"),
|
|
||||||
- (check_query_json_extra, "client-json-extra"),
|
|
||||||
(check_query_not_file, "client-not-file"),
|
|
||||||
(check_query_requests_bad, "client-requests-bad"),
|
|
||||||
(check_query_requests_empty, "client-requests-empty"),
|
|
||||||
diff --git a/Tests/RunCMake/FileAPI/ClientStateful-prep.cmake b/Tests/RunCMake/FileAPI/ClientStateful-prep.cmake
|
|
||||||
--- a/Tests/RunCMake/FileAPI/ClientStateful-prep.cmake
|
|
||||||
+++ b/Tests/RunCMake/FileAPI/ClientStateful-prep.cmake
|
|
||||||
@@ -3,7 +3,6 @@ file(WRITE "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-empty-array/q
|
|
||||||
file(WRITE "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-empty-object/query.json" "{}")
|
|
||||||
file(WRITE "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-json-bad-root/query.json" [["invalid root"]])
|
|
||||||
file(WRITE "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-json-empty/query.json" "")
|
|
||||||
-file(WRITE "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-json-extra/query.json" "{}x")
|
|
||||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-not-file/query.json")
|
|
||||||
|
|
||||||
file(WRITE "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/query/client-requests-bad/query.json" [[{ "requests": {} }]])
|
|
@ -1,2 +1 @@
|
|||||||
disable_fileapi_json_extra_test.patch
|
0001-Fix-cross-compilation-with-MPI.patch
|
||||||
Compile_with_FILE_OFFSET_BITS_64_on_32-bit_Linux.patch
|
|
||||||
|
Loading…
Reference in new issue