diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3c49bc4b55..784a667e6a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -114,7 +114,7 @@ jobs: # for the openPMD-api build, CMake shall search for # static dependencies of HDF5 and ADIOS1 (see setup.py) CIBW_ENVIRONMENT: HDF5_USE_STATIC_LIBRARIES='ON' ZLIB_USE_STATIC_LIBS='ON' ADIOS_USE_STATIC_LIBS='ON' openPMD_CMAKE_openPMD_USE_HDF5='ON' openPMD_CMAKE_openPMD_USE_ADIOS2='ON' - CIBW_ENVIRONMENT_WINDOWS: HDF5_USE_STATIC_LIBRARIES='ON' ZLIB_USE_STATIC_LIBS='ON' openPMD_CMAKE_openPMD_USE_HDF5='ON' openPMD_CMAKE_openPMD_USE_ADIOS2='ON' CMAKE_PREFIX_PATH='C:/Program Files (x86)/ADIOS2;C:/Program Files (x86)/blosc;C:/Program Files (x86)/blosc2;C:/Program Files (x86)/HDF5;C:/Program Files (x86)/ZFP;C:/Program Files (x86)/zlib' + CIBW_ENVIRONMENT_WINDOWS: HDF5_USE_STATIC_LIBRARIES='ON' ZLIB_USE_STATIC_LIBS='ON' openPMD_CMAKE_openPMD_USE_HDF5='ON' openPMD_CMAKE_openPMD_USE_ADIOS2='ON' CMAKE_PREFIX_PATH='C:/Program Files (x86)/ADIOS2;C:/Program Files (x86)/blosc2;C:/Program Files (x86)/HDF5;C:/Program Files (x86)/ZFP;C:/Program Files (x86)/zlib' # C++17 support in macOS 10.13+ (partial) and 10.14+ (std::visit) and 10.15+ (std::filesystem::path) # https://cibuildwheel.readthedocs.io/en/stable/cpp_standards/#macos-and-deployment-target-versions # arm64/aarch64 (M1/M2) requires 11.0+ diff --git a/library_builders.bat b/library_builders.bat index 6becb312ea..fd449ebabc 100644 --- a/library_builders.bat +++ b/library_builders.bat @@ -17,14 +17,15 @@ exit /b 0 :build_adios2 if exist adios2-stamp exit /b 0 - ::curl -sLo adios2-2.9.1.zip ^ - :: https://github.com/ornladios/ADIOS2/archive/v2.9.1.zip - curl -sLo adios2-2.9.1.zip ^ - https://github.com/ax3l/ADIOS2/archive/refs/heads/release-2.9.1-bp-wheels.zip - powershell Expand-Archive adios2-2.9.1.zip -DestinationPath dep-adios2 + curl -sLo adios2-2.10.1.zip ^ + https://github.com/vicentebolea/ADIOS2/archive/refs/heads/fix-static-blosc2-build.zip + powershell Expand-Archive adios2-2.10.1.zip -DestinationPath dep-adios2 - cmake -S dep-adios2/ADIOS2-release-2.9.1-bp-wheels -B build-adios2 ^ + cmake --version + + cmake -S dep-adios2/ADIOS2-fix-static-blosc2-build -B build-adios2 ^ -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_DISABLE_FIND_PACKAGE_LibFFI=TRUE ^ -DBUILD_SHARED_LIBS=OFF ^ -DBUILD_TESTING=OFF ^ -DADIOS2_USE_MPI=OFF ^ @@ -51,6 +52,11 @@ exit /b 0 cmake --build build-adios2 --target install --config Release if errorlevel 1 exit 1 + :: CMake Config package of C-Blosc 2.10.1+ only + :: https://github.com/ornladios/ADIOS2/issues/3903 + :: rmdir /s /q "%BUILD_PREFIX%/ADIOS2/lib/cmake/adios2/FindBlosc2.cmake" + :: if errorlevel 1 exit 1 + rmdir /s /q build-adios2 if errorlevel 1 exit 1 @@ -61,19 +67,16 @@ exit /b 0 :build_blosc2 if exist blosc2-stamp exit /b 0 - curl -sLo blosc2-2.10.2.zip ^ - https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.10.2.zip - powershell Expand-Archive blosc2-2.10.2.zip -DestinationPath dep-blosc2 + curl -sLo blosc2-2.11.1.zip ^ + https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.11.1.zip + powershell Expand-Archive blosc2-2.11.1.zip -DestinationPath dep-blosc2 - :: Fix Threads search in Blosc2Config.cmake - :: https://github.com/Blosc/c-blosc2/pull/549 - curl -sLo blosc2-threads.patch ^ - https://github.com/Blosc/c-blosc2/pull/549.patch - python -m patch -p 1 -d dep-blosc2/c-blosc2-2.10.2 blosc2-threads.patch - if errorlevel 1 exit 1 + cmake --version - cmake -S dep-blosc2/c-blosc2-2.10.2 -B build-blosc2 ^ + cmake -S dep-blosc2/c-blosc2-2.11.1 -B build-blosc2 ^ -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_PREFIX=%BUILD_PREFIX%/blosc2 ^ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON ^ -DBUILD_SHARED=OFF ^ -DBUILD_STATIC=ON ^ -DBUILD_BENCHMARKS=OFF ^ diff --git a/library_builders.sh b/library_builders.sh index 1326c4e989..aa0f245ef5 100644 --- a/library_builders.sh +++ b/library_builders.sh @@ -103,10 +103,8 @@ function build_adios1 { function build_adios2 { if [ -e adios2-stamp ]; then return; fi - #curl -sLo adios2-2.9.1.tar.gz \ - # https://github.com/ornladios/ADIOS2/archive/v2.9.1.tar.gz - curl -sLo adios2-2.9.1.tar.gz \ - https://github.com/ax3l/ADIOS2/archive/refs/heads/release-2.9.1-bp-wheels.tar.gz + curl -sLo adios2-2.10.1.tar.gz \ + https://github.com/ornladios/ADIOS2/archive/v2.10.1.tar.gz file adios2*.tar.gz tar -xzf adios2*.tar.gz rm adios2*.tar.gz @@ -129,6 +127,7 @@ function build_adios2 { -DADIOS2_USE_MHS=OFF \ -DADIOS2_USE_MPI=OFF \ -DADIOS2_USE_PNG=OFF \ + -DADIOS2_USE_Sodium=OFF \ -DADIOS2_USE_SST=ON \ -DADIOS2_USE_ZFP=ON \ -DADIOS2_RUN_INSTALL_TEST=OFF \ @@ -143,6 +142,7 @@ function build_adios2 { make install # CMake Config package of C-Blosc 2.10.1+ only + # https://github.com/ornladios/ADIOS2/issues/3903 rm -rf ${BUILD_PREFIX}/lib*/cmake/adios2/FindBlosc2.cmake cd - @@ -200,8 +200,8 @@ function build_blosc { function build_blosc2 { if [ -e blosc-stamp2 ]; then return; fi - curl -sLo blosc2-v2.10.2.tar.gz \ - https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.10.2.tar.gz + curl -sLo blosc2-v2.11.1.tar.gz \ + https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.11.1.tar.gz file blosc2*.tar.gz tar -xzf blosc2*.tar.gz rm blosc2*.tar.gz