From 634c25a8f3543cc079fcd2f68f17664548975ac4 Mon Sep 17 00:00:00 2001 From: Mark Dokter Date: Tue, 24 Sep 2024 17:58:12 +0200 Subject: [PATCH] [DAPHNE-#830] Fix compilation error (with clang) in json dependency The use of EOF in our json dependency makes compilation fail with Clang. Patch is based on nlohmannjson version 3.11.3 --- build.sh | 3 ++- software-package-versions.txt | 2 +- .../0007-nlohmannjson-replace-EOF.patch | 20 +++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 thirdparty/patches/0007-nlohmannjson-replace-EOF.patch diff --git a/build.sh b/build.sh index 81e05fa92..b6e925ffe 100755 --- a/build.sh +++ b/build.sh @@ -766,13 +766,14 @@ if [ $WITH_DEPS -gt 0 ]; then #------------------------------------------------------------------------------ nlohmannjsonDirName=nlohmannjson nlohmannjsonSingleHeaderName=json.hpp - dep_nlohmannjson=("nlohmannjson_v${nlohmannjsonVersion}" "v1") + dep_nlohmannjson=("nlohmannjson_v${nlohmannjsonVersion}" "v2") if ! is_dependency_installed "${dep_nlohmannjson[@]}"; then daphne_msg "Get nlohmannjson version ${nlohmannjsonVersion}" mkdir -p "${installPrefix}/include/${nlohmannjsonDirName}" wget "https://github.com/nlohmann/json/releases/download/v$nlohmannjsonVersion/$nlohmannjsonSingleHeaderName" \ -qO "${installPrefix}/include/${nlohmannjsonDirName}/${nlohmannjsonSingleHeaderName}" + patch -Np0 -i "${patchDir}/0007-nlohmannjson-replace-EOF.patch" -d "${installPrefix}/include/${nlohmannjsonDirName}" dependency_install_success "${dep_nlohmannjson[@]}" else daphne_msg "No need to download nlohmannjson again." diff --git a/software-package-versions.txt b/software-package-versions.txt index d092c79e1..18508bfac 100644 --- a/software-package-versions.txt +++ b/software-package-versions.txt @@ -24,7 +24,7 @@ cudaVersion=12.6.1 eigenVersion=3.4.0 grpcVersion=1.38.0 hwlocVersion=2.9.3 -nlohmannjsonVersion=3.10.5 +nlohmannjsonVersion=3.11.3 openBlasVersion=0.3.23 openMPIVersion=4.1.5 papiVersion=7.0.1 diff --git a/thirdparty/patches/0007-nlohmannjson-replace-EOF.patch b/thirdparty/patches/0007-nlohmannjson-replace-EOF.patch new file mode 100644 index 000000000..ddbee69ea --- /dev/null +++ b/thirdparty/patches/0007-nlohmannjson-replace-EOF.patch @@ -0,0 +1,20 @@ +--- json.hpp.orig 2024-09-24 17:26:47.850173669 +0200 ++++ json.hpp 2024-09-24 17:27:40.874776913 +0200 +@@ -3624,7 +3624,7 @@ + + static constexpr int_type eof() noexcept + { +- return static_cast(EOF); ++ return static_cast(std::char_traits::eof()); + } + }; + +@@ -3648,7 +3648,7 @@ + + static constexpr int_type eof() noexcept + { +- return static_cast(EOF); ++ return static_cast(std::char_traits::eof()); + } + }; +