Skip to content

Conversation

@Crivella
Copy link
Contributor

@Crivella Crivella commented Oct 28, 2025

Address problem described in

Requires also the fix to source/adios2/toolkit/remote/CMakeLists.txt in order to pick up the correct target for EVPath as EVPath::EVPath is not defined if the EVPath third-party sources are not included

NOTE: testing this on tag 2.10.2
More changes are needed to find all targets on top of master (will attempt them soon) but the changes to the CMake logic still applies

@vicentebolea
Copy link
Collaborator

@Crivella thanks for your contributions I left a comment

@vicentebolea
Copy link
Collaborator

@Crivella I have pushed a commit to your fork that attempts to correct the tests

@vicentebolea vicentebolea force-pushed the faeture-fix_external_evpath branch from 0951b70 to 3578ee3 Compare October 29, 2025 20:56
vicentebolea
vicentebolea previously approved these changes Oct 29, 2025
Copy link
Collaborator

@vicentebolea vicentebolea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contrib

@Crivella Crivella force-pushed the faeture-fix_external_evpath branch from 3578ee3 to 6479bec Compare October 30, 2025 09:27
@vicentebolea
Copy link
Collaborator

@Crivella is this ready to merge?

@vicentebolea vicentebolea added this to the v2.11.0 milestone Nov 3, 2025
@eisenhauer
Copy link
Member

I haven't dug into this yet, but what I'd wonder about is the dependencies. If using an external EVPath, that must have been built also with external FFS, DILL and ATL and we'd need to make sure we used those rather than internal. (ENET is separate and independent.)

@eisenhauer eisenhauer requested a review from a team as a code owner November 4, 2025 01:55
@Crivella
Copy link
Contributor Author

Crivella commented Nov 4, 2025

is this ready to merge?

@vicentebolea

I was able to get it to work on top of 2.10.2.
On top of master i think i was hitting some trouble due to

get_target_property(EVPATH_INCLUDES EVPath::EVPath INCLUDE_DIRECTORIES)
get_target_property(FFS_INCLUDES ffs::ffs INCLUDE_DIRECTORIES)
get_target_property(ATL_INCLUDES atl::atl INCLUDE_DIRECTORIES)

I was able to get it to work either by changing those targets to use the adios::thirdparty::XXX and also modifying

add_subdirectory(EVPath)
endif()
find_package(EVPath REQUIRED)
adios2_add_thirdparty_target(EVPath EVPath::EVPath)

to add a adios2_add_thirdparty_target(atl atl::atl) before ffs and a set_property(...) for every package to copy the INTERFACE_INCLUDE_DIRECTORIES from XXX::XXX to adios::thirdparty::XXX.

The other way I was able to get it to work is by changing the find_package(...) in https://github.com/ornladios/ADIOS2/blob/master/thirdparty/CMakeLists.txt to be GLOBAL and than look for INTERFACE_INCLUDE_DIRECTORIES instead of INCLUDE_DIRECTORIES in https://github.com/ornladios/ADIOS2/blob/c60f31f3f3e3af5ccf447956da29d9b6143c04c5/testing/adios2/unit/CMakeLists.txt.

But I've not tested either setups on top of the internal libraries.

Possibly for another Issue/PR

Right now I've been testing things more with the internal libraries without UCX to get the test suite to not give a bunch of timeouts (was testing the newer version of the libraries to see if it would help but i was still hitting the timeouts)
easybuilders/easybuild-easyconfigs#24316
but that might've not been the cause as I am still seeing them when testing that PR on an arm architecture (EESSI/software-layer#1281 (comment))

@eisenhauer
Copy link
Member

Just a note on the UCX issues. We are using that effectively in HPC environments where RDMA hardware is present. I don't think we're testing it where RDMA isn't available (I.E. where that would require UCX to fall back to TCP.). Our libfabric dataplane looks at the available transports at runtime and will report itself non-viable if there is no RDMA hardware. It looks like the UCX dataplane lacks this sort of logic. At the moment I haven't looked at UCX to see if it's possible, but that might be the answer to your UCX issues. (Or don't have UCX in the mix if there isn't RDMA available.)

@eisenhauer
Copy link
Member

WRT the .sst files in the test suite. Those are indeed temporaries that are used so that the producer and consumer sides of the tests can get in touch. They are removed by the producer side during a normal shutdown, or using atexit() in the case of abnormal termination. However, there are ways for processes to die that don't allow for atexit() processing (e.g. kill -9, running under a debugger, etc.). So those files may remain and when they do they can be a problem. I run the test suite quite a bit and haven't generally run into that, but if you're finding it more common I'd be curious about the circumstances.

@eisenhauer
Copy link
Member

Just a note on the UCX issues.
For what it's worth, I just dropped UCX onto my wsl box running Ubuntu and all the SST tests run to completion without issue. I confirmed that it is using the UCX dataplane, which is probably not as performant as using sockets directly, but it does not fail without RDMA hardware. No idea what this means for your setup.

@Crivella
Copy link
Contributor Author

Crivella commented Nov 4, 2025

WRT the .sst files in the test suite.

It was mostly a problem related to how i was trying to debug the timeouts happening on the test suite. Just wanted to add it to the PR to avoid other peoples going down the same path.

Just a note on the UCX issues.

Thanks for looking into this I will try to double check if it is something related to our setup

If using an external EVPath, that must have been built also with external FFS, DILL and ATL and we'd need to make sure we used those rather than internal. (ENET is separate and independent.)

If this is the logic that needs to be enforced we might want to flip the current CMake changes to

cmake_dependent_option(ADIOS2_USE_EXTERNAL_EVPATH
  "Use an externally supplied EVPath library" OFF
  "ADIOS2_HAVE_SST" OFF
)
cmake_dependent_option(ADIOS2_USE_EXTERNAL_ATL
  "Use an externally supplied ATL library" OFF
  "NOT ADIOS2_USE_EXTERNAL_EVPATH" ON
)
cmake_dependent_option(ADIOS2_USE_EXTERNAL_FFS
  "Use an externally supplied FFS library" OFF
  "NOT ADIOS2_USE_EXTERNAL_EVPATH" ON
)
cmake_dependent_option(ADIOS2_USE_EXTERNAL_DILL
  "Use an externally supplied DILL library" OFF
  "NOT ADIOS2_USE_EXTERNAL_FFS" ON
)
cmake_dependent_option(ADIOS2_USE_EXTERNAL_ENET
  "Use an externally supplied ENET library" OFF
  "NOT ADIOS2_USE_EXTERNAL_EVPATH" ON
)

so that if ADIOS2_USE_EXTERNAL_EVPATH is ON it will also force the other ADIOS2_USE_EXTERNAL_XXX to ON.
Might still need some extra checks if we need to make sure the libraries used for EVPath are the same as the one found by CMake

auto-merge was automatically disabled November 7, 2025 09:17

Head branch was pushed to by a user without write access

@eisenhauer
Copy link
Member

The get_target_property() calls seem to be a problem when using ADIOS2_USE_EXTERNAL_EVPATH=on, but without those calls I'm not sure how to get the right include path for the sources in ADIOS2/testing/adios2/unit/...

@Crivella
Copy link
Contributor Author

Crivella commented Nov 10, 2025

@eisenhauer

I've added my changes that i had at the time to make it work without skipping those tests d372b56

Have not test a build with the internal third-party builds with that but it seems to work up to the configure part detecting the correct paths

With external deps

== 2025-11-10 10:16:10,217 run.py:625 INFO Shell command completed successfully: cmake -G "Ninja" -DCMAKE_INSTALL_PREFIX=/home/crivella/.local/easybuild/software/ADIOS2/2.10.2-20251024-foss-2023b -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DPYTHON_EXECUTABLE=/home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python -DPython_EXECUTABLE=/home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python -DPython3_EXECUTABLE=/home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python -DBUILD_TESTING=ON -DADIOS2_USE_EXTERNAL_PYBIND11=ON -DADIOS2_USE_EXTERNAL_YAMLCPP=ON -DADIOS2_USE_EXTERNAL_NLOHMANN_JSON=ON -DADIOS2_USE_EXTERNAL_PUGIXML=ON -DADIOS2_USE_EXTERNAL_GTEST=ON -DADIOS2_USE_EXTERNAL_DILL=ON -DADIOS2_USE_EXTERNAL_ATL=ON -DADIOS2_USE_EXTERNAL_FFS=ON -DADIOS2_USE_EXTERNAL_ENET=ON -DADIOS2_USE_EXTERNAL_EVPATH=ON -DADIOS2_RUN_MPI_MPMD_TESTS=OFF -DMPIEXEC_MAX_NUMPROCS=4 /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/ADIOS2/
== 2025-11-10 10:16:10,217 run.py:627 INFO Output of 'cmake ...' shell command (stdout + stderr):
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicxx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Could NOT find BWC (missing: BWC_DIR)
-- Found BZip2: /home/crivella/.local/easybuild/software/bzip2/1.0.8-GCCcore-13.2.0/lib/libbz2.so (found version "1.0.8") 
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Could NOT find ZFP (missing: ZFP_DIR)
-- Could NOT find SZ (missing: SZ_LIBRARY SZ_INCLUDE_DIR) 
-- Found ZLIB: /home/crivella/.local/easybuild/software/zlib/1.2.13-GCCcore-13.2.0/lib/libz.so (found version "1.2.13")  
-- Found PkgConfig: /home/crivella/.local/easybuild/software/pkgconf/2.0.3-GCCcore-13.2.0/bin/pkgconf (found version "2.0.3") 
-- Checking for one of the modules 'libzstd'
-- Checking for one of the modules 'protobuf>=3.0.0'
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found mgard: /home/crivella/.local/easybuild/software/MGARD/1.6.0-GCC-13.2.0/lib/cmake/mgard/mgard-config.cmake (found version "1.6.0") 
-- Found PNG: /home/crivella/.local/easybuild/software/libpng/1.6.40-GCCcore-13.2.0/lib/libpng.so (found suitable version "1.6.40", minimum required is "1.6.0") 
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort
-- The Fortran compiler identification is GNU 13.2.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort - skipped
-- Performing Test ADIOS2_HAVE_FORTRAN_F03_ARGS
-- Performing Test ADIOS2_HAVE_FORTRAN_F03_ARGS - Success
-- Performing Test ADIOS2_HAVE_FORTRAN_GNU_ARGS
-- Performing Test ADIOS2_HAVE_FORTRAN_GNU_ARGS - Success
-- Found MPI_C: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicc (found version "3.1") 
-- Found MPI_CXX: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicxx (found version "3.1") 
-- Found MPI_Fortran: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort (found version "3.1") 
-- Found MPI: TRUE (found version "3.1") found components: C Fortran CXX 
-- Found ZeroMQ: /home/crivella/.local/easybuild/software/ZeroMQ/4.3.5-GCCcore-13.2.0/lib/libzmq.so (found suitable version "4.3.5", minimum required is "4.1") 
-- Checking for module 'dspaces'
--   Package 'dspaces', required by 'virtual:world', not found
-- Could NOT find DataSpaces (missing: DATASPACES_VERSION DATASPACES_INCLUDE_DIR DATASPACES_LIBRARIES) (Required is at least version "2.1.1")
-- Found HDF5: /home/crivella/.local/easybuild/software/HDF5/1.14.3-gompi-2023b/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/home/crivella/.local/easybuild/software/Szip/2.1.1-GCCcore-13.2.0/lib/libsz.so;/home/crivella/.local/easybuild/software/zlib/1.2.13-GCCcore-13.2.0/lib/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libpthread.a (found version "1.14.3") found components: C 
-- Could NOT find IME (missing: IME_LIBRARY IME_INCLUDE_DIR) 
-- Found Python: /home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python (found suitable version "3.11.5", minimum required is "3.8") found components: Interpreter Development Development.Module Development.Embed 
-- Found PythonModule_mpi4py: /home/crivella/.local/easybuild/software/mpi4py/3.1.5-gompi-2023b/lib/python3.11/site-packages/mpi4py  
-- Checking for module 'libfabric'
--   Found libfabric, version 1.19.0
-- Found LIBFABRIC: /home/crivella/.local/easybuild/software/libfabric/1.19.0-GCCcore-13.2.0/lib/libfabric.so (Required is at least version "1.6") 
-- Checking for module 'cray-drc'
--   Package 'cray-drc', required by 'virtual:world', not found
-- Could NOT find CrayDRC (missing: CrayDRC_LIBRARIES) 
-- Libfabric support for the HPE CXI provider: FALSE
-- Performing Test ADIOS2_SST_HAVE_MPI_DP_HEURISTICS_PASSED
-- Performing Test ADIOS2_SST_HAVE_MPI_DP_HEURISTICS_PASSED - Failed
-- Checking for module 'ucx'
--   Found ucx, version 1.15.0
-- Found UCX: /home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libucp.so;/home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libuct.so;/home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libucs.so;/home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libucm.so (found suitable version "1.15.0", minimum required is "1.9.0") 
-- Could NOT find DAOS (missing: DAOS_LIBRARY DFS_LIBRARY DAOS_INCLUDE_DIR) 
-- Looking for shmget
-- Looking for shmget - found
-- Found Sodium: /home/crivella/.local/easybuild/software/libsodium/1.0.19-GCCcore-13.2.0/lib/libsodium.so  
-- Found SQLite3: /home/crivella/.local/easybuild/software/SQLite/3.43.1-GCCcore-13.2.0/include (found version "3.43.1") 
-- Sqlite3 and ZLIB found. Turn on Campaign Management
-- Performing Test ADIOS2_USE_Fortran_flag_argument_mismatch
-- Performing Test ADIOS2_USE_Fortran_flag_argument_mismatch - Success
-- Checking for O_DIRECT
-- Performing Test O_DIRECT_WORKS
-- Performing Test O_DIRECT_WORKS - Success

-- ADIOS2 ThirdParty: Configuring KWSys
-- Checking whether wstring is available
-- Checking whether wstring is available - yes
-- Checking whether C compiler has ptrdiff_t in stddef.h
-- Checking whether C compiler has ptrdiff_t in stddef.h - yes
-- Checking whether C compiler has ssize_t in unistd.h
-- Checking whether C compiler has ssize_t in unistd.h - yes
-- Checking whether CXX compiler has setenv
-- Checking whether CXX compiler has setenv - yes
-- Checking whether CXX compiler has unsetenv
-- Checking whether CXX compiler has unsetenv - yes
-- Checking whether CXX compiler has environ in stdlib.h
-- Checking whether CXX compiler has environ in stdlib.h - no
-- Checking whether CXX compiler has utimes
-- Checking whether CXX compiler has utimes - yes
-- Checking whether CXX compiler has utimensat
-- Checking whether CXX compiler has utimensat - yes
-- Checking whether CXX compiler struct stat has st_mtim member
-- Checking whether CXX compiler struct stat has st_mtim member - yes
-- Checking whether CXX compiler struct stat has st_mtimespec member
-- Checking whether CXX compiler struct stat has st_mtimespec member - no
-- Checking whether <ext/stdio_filebuf.h> is available
-- Checking whether <ext/stdio_filebuf.h> is available - yes

-- ADIOS2 ThirdParty: Configuring perfstubs
-- Found GTest: /home/crivella/.local/easybuild/software/googletest/1.14.0-GCCcore-13.2.0/lib/cmake/GTest/GTestConfig.cmake (found version "1.14.0")  
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /home/crivella/.local/easybuild/software/pybind11/2.11.1-GCCcore-13.2.0/include (found version "2.11.1")
-- Found pugixml: /home/crivella/.local/easybuild/software/pugixml/1.14-GCCcore-13.2.0/lib/cmake/pugixml/pugixml-config.cmake (found suitable version "1.14", minimum required is "1.10") 

-- ADIOS2 ThirdParty: Configuring nlohmann_json
-- Found nlohmann_json: /home/crivella/.local/easybuild/software/nlohmann_json/3.11.3-GCCcore-13.2.0/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.3") 
-- Found atl: /home/crivella/.local/easybuild/software/atl/2.2.1-20250806-GCCcore-13.2.0/lib/cmake/atl/atl-config.cmake (found version "2.2.2") 
-- Found ffs: /home/crivella/.local/easybuild/software/ffs/1.6.0-20250807-GCCcore-13.2.0/lib/cmake/ffs/ffs-config.cmake (found version "3.1.8") 
-- Found atl: /home/crivella/.local/easybuild/software/atl/2.2.1-20250806-GCCcore-13.2.0/lib/cmake/atl/atl-config.cmake (found suitable version "2.2.2", minimum required is "2.2.2") 
-- Found ffs: /home/crivella/.local/easybuild/software/ffs/1.6.0-20250807-GCCcore-13.2.0/lib/cmake/ffs/ffs-config.cmake (found suitable version "3.1.8", minimum required is "3.1.8") 
-- Found EVPath: /home/crivella/.local/easybuild/software/EVPath/4.5.0-20240527-gompi-2023b/lib/cmake/EVPath/EVPathConfigCommon.cmake (found version "4.5.0") 

-- Looking for rdma/fi_ext_gni.h
-- Looking for rdma/fi_ext_gni.h - not found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Detecting Fortran/C Interface
-- Detecting Fortran/C Interface - Found GLOBAL and MODULE mangling
-- Verifying Fortran/CXX Compiler Compatibility
-- Verifying Fortran/CXX Compiler Compatibility - Success
-- Performing Test ADIOS2_HAVE_FORTRAN_SUBMODULES
-- Performing Test ADIOS2_HAVE_FORTRAN_SUBMODULES - Success
-- Found Python3: /home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python (found version "3.11.5") found components: Interpreter 
-- Found zip executable: /usr/bin/zip

ADIOS2 build configuration:
  ADIOS Version : 2.10.0
  C++ standard  : 14
  C++ Compiler  : GNU 13.2.0 
    /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicxx

  Fortran Compiler : GNU 13.2.0 
    /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort

  Installation prefix: /home/crivella/.local/easybuild/software/ADIOS2/2.10.2-20251024-foss-2023b
        bin: bin
        lib: lib
    include: include
      cmake: lib/cmake/adios2
     python: lib/python3.11/site-packages

  Features:
    Library Type: shared
    Build Type:   Release
    Testing: ON
    Examples: OFF
    Build Options:
      DataMan            : ON
      DataSpaces         : OFF
      HDF5               : ON, parallel 
      HDF5_VOL           : ON
      MHS                : ON
      SST                : ON
      Fortran            : ON
      MPI                : ON
      Python             : ON
      PIP                : OFF
      BigWhoop           : OFF
      Blosc2             : ON
      BZip2              : ON
      LIBPRESSIO         : OFF
      MGARD              : ON
      MGARD_MDR          : OFF
      PNG                : ON
      SZ                 : OFF
      ZFP                : OFF
      DAOS               : OFF
      IME                : OFF
      O_DIRECT           : ON
      Sodium             : ON
      Catalyst           : OFF
      SysVShMem          : ON
      UCX                : ON
      ZeroMQ             : ON
      Profiling          : ON
      Endian_Reverse     : OFF
      Derived_Variable   : OFF
      AWSSDK             : OFF
      XRootD             : OFF
      GPU_Support        : OFF
      CUDA               : OFF
      Kokkos             : OFF
      Kokkos_CUDA        : OFF
      Kokkos_HIP         : OFF
      Kokkos_SYCL        : OFF
      Campaign           : ON
      KVCACHE            : OFF
    Possible RDMA DataPlanes for SST:  fabric UCX MPI
-- Configuring done (35.5s)
-- Generating done (2.1s)
-- Build files have been written to: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj

With internal deps

== 2025-11-10 10:18:34,038 run.py:625 INFO Shell command completed successfully: cmake -G "Ninja" -DCMAKE_INSTALL_PREFIX=/home/crivella/.local/easybuild/software/ADIOS2/2.10.2-20251024-foss-2023b -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DPYTHON_EXECUTABLE=/home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python -DPython_EXECUTABLE=/home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python -DPython3_EXECUTABLE=/home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python -DBUILD_TESTING=ON -DADIOS2_USE_EXTERNAL_PYBIND11=ON -DADIOS2_USE_EXTERNAL_YAMLCPP=ON -DADIOS2_USE_EXTERNAL_NLOHMANN_JSON=ON -DADIOS2_USE_EXTERNAL_PUGIXML=ON -DADIOS2_USE_EXTERNAL_GTEST=ON -DADIOS2_RUN_MPI_MPMD_TESTS=OFF -DMPIEXEC_MAX_NUMPROCS=4 /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/ADIOS2/
== 2025-11-10 10:18:34,038 run.py:627 INFO Output of 'cmake ...' shell command (stdout + stderr):
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicxx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Could NOT find BWC (missing: BWC_DIR)
-- Found BZip2: /home/crivella/.local/easybuild/software/bzip2/1.0.8-GCCcore-13.2.0/lib/libbz2.so (found version "1.0.8") 
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Could NOT find ZFP (missing: ZFP_DIR)
-- Could NOT find SZ (missing: SZ_LIBRARY SZ_INCLUDE_DIR) 
-- Found ZLIB: /home/crivella/.local/easybuild/software/zlib/1.2.13-GCCcore-13.2.0/lib/libz.so (found version "1.2.13")  
-- Found PkgConfig: /home/crivella/.local/easybuild/software/pkgconf/2.0.3-GCCcore-13.2.0/bin/pkgconf (found version "2.0.3") 
-- Checking for one of the modules 'libzstd'
-- Checking for one of the modules 'protobuf>=3.0.0'
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found mgard: /home/crivella/.local/easybuild/software/MGARD/1.6.0-GCC-13.2.0/lib/cmake/mgard/mgard-config.cmake (found version "1.6.0") 
-- Found PNG: /home/crivella/.local/easybuild/software/libpng/1.6.40-GCCcore-13.2.0/lib/libpng.so (found suitable version "1.6.40", minimum required is "1.6.0") 
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort
-- The Fortran compiler identification is GNU 13.2.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort - skipped
-- Performing Test ADIOS2_HAVE_FORTRAN_F03_ARGS
-- Performing Test ADIOS2_HAVE_FORTRAN_F03_ARGS - Success
-- Performing Test ADIOS2_HAVE_FORTRAN_GNU_ARGS
-- Performing Test ADIOS2_HAVE_FORTRAN_GNU_ARGS - Success
-- Found MPI_C: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicc (found version "3.1") 
-- Found MPI_CXX: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicxx (found version "3.1") 
-- Found MPI_Fortran: /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort (found version "3.1") 
-- Found MPI: TRUE (found version "3.1") found components: C Fortran CXX 
-- Found ZeroMQ: /home/crivella/.local/easybuild/software/ZeroMQ/4.3.5-GCCcore-13.2.0/lib/libzmq.so (found suitable version "4.3.5", minimum required is "4.1") 
-- Checking for module 'dspaces'
--   Package 'dspaces', required by 'virtual:world', not found
-- Could NOT find DataSpaces (missing: DATASPACES_VERSION DATASPACES_INCLUDE_DIR DATASPACES_LIBRARIES) (Required is at least version "2.1.1")
-- Found HDF5: /home/crivella/.local/easybuild/software/HDF5/1.14.3-gompi-2023b/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/home/crivella/.local/easybuild/software/Szip/2.1.1-GCCcore-13.2.0/lib/libsz.so;/home/crivella/.local/easybuild/software/zlib/1.2.13-GCCcore-13.2.0/lib/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libpthread.a (found version "1.14.3") found components: C 
-- Could NOT find IME (missing: IME_LIBRARY IME_INCLUDE_DIR) 
-- Found Python: /home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python (found suitable version "3.11.5", minimum required is "3.8") found components: Interpreter Development Development.Module Development.Embed 
-- Found PythonModule_mpi4py: /home/crivella/.local/easybuild/software/mpi4py/3.1.5-gompi-2023b/lib/python3.11/site-packages/mpi4py  
-- Checking for module 'libfabric'
--   Found libfabric, version 1.19.0
-- Found LIBFABRIC: /home/crivella/.local/easybuild/software/libfabric/1.19.0-GCCcore-13.2.0/lib/libfabric.so (Required is at least version "1.6") 
-- Checking for module 'cray-drc'
--   Package 'cray-drc', required by 'virtual:world', not found
-- Could NOT find CrayDRC (missing: CrayDRC_LIBRARIES) 
-- Libfabric support for the HPE CXI provider: FALSE
-- Performing Test ADIOS2_SST_HAVE_MPI_DP_HEURISTICS_PASSED
-- Performing Test ADIOS2_SST_HAVE_MPI_DP_HEURISTICS_PASSED - Failed
-- Checking for module 'ucx'
--   Found ucx, version 1.15.0
-- Found UCX: /home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libucp.so;/home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libuct.so;/home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libucs.so;/home/crivella/.local/easybuild/software/UCX/1.15.0-GCCcore-13.2.0/lib/libucm.so (found suitable version "1.15.0", minimum required is "1.9.0") 
-- Could NOT find DAOS (missing: DAOS_LIBRARY DFS_LIBRARY DAOS_INCLUDE_DIR) 
-- Looking for shmget
-- Looking for shmget - found
-- Found Sodium: /home/crivella/.local/easybuild/software/libsodium/1.0.19-GCCcore-13.2.0/lib/libsodium.so  
-- Found SQLite3: /home/crivella/.local/easybuild/software/SQLite/3.43.1-GCCcore-13.2.0/include (found version "3.43.1") 
-- Sqlite3 and ZLIB found. Turn on Campaign Management
-- Performing Test ADIOS2_USE_Fortran_flag_argument_mismatch
-- Performing Test ADIOS2_USE_Fortran_flag_argument_mismatch - Success
-- Checking for O_DIRECT
-- Performing Test O_DIRECT_WORKS
-- Performing Test O_DIRECT_WORKS - Success

-- ADIOS2 ThirdParty: Configuring KWSys
-- Checking whether wstring is available
-- Checking whether wstring is available - yes
-- Checking whether C compiler has ptrdiff_t in stddef.h
-- Checking whether C compiler has ptrdiff_t in stddef.h - yes
-- Checking whether C compiler has ssize_t in unistd.h
-- Checking whether C compiler has ssize_t in unistd.h - yes
-- Checking whether CXX compiler has setenv
-- Checking whether CXX compiler has setenv - yes
-- Checking whether CXX compiler has unsetenv
-- Checking whether CXX compiler has unsetenv - yes
-- Checking whether CXX compiler has environ in stdlib.h
-- Checking whether CXX compiler has environ in stdlib.h - no
-- Checking whether CXX compiler has utimes
-- Checking whether CXX compiler has utimes - yes
-- Checking whether CXX compiler has utimensat
-- Checking whether CXX compiler has utimensat - yes
-- Checking whether CXX compiler struct stat has st_mtim member
-- Checking whether CXX compiler struct stat has st_mtim member - yes
-- Checking whether CXX compiler struct stat has st_mtimespec member
-- Checking whether CXX compiler struct stat has st_mtimespec member - no
-- Checking whether <ext/stdio_filebuf.h> is available
-- Checking whether <ext/stdio_filebuf.h> is available - yes

-- ADIOS2 ThirdParty: Configuring perfstubs
-- Found GTest: /home/crivella/.local/easybuild/software/googletest/1.14.0-GCCcore-13.2.0/lib/cmake/GTest/GTestConfig.cmake (found version "1.14.0")  
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /home/crivella/.local/easybuild/software/pybind11/2.11.1-GCCcore-13.2.0/include (found version "2.11.1")
-- Found pugixml: /home/crivella/.local/easybuild/software/pugixml/1.14-GCCcore-13.2.0/lib/cmake/pugixml/pugixml-config.cmake (found suitable version "1.14", minimum required is "1.10") 

-- ADIOS2 ThirdParty: Configuring nlohmann_json
-- Found nlohmann_json: /home/crivella/.local/easybuild/software/nlohmann_json/3.11.3-GCCcore-13.2.0/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.3") 

-- ADIOS2 ThirdParty: Configuring atl
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of double
-- Check size of double - done
-- Check size of float
-- Check size of float - done
-- Check size of int
-- Check size of int - done
-- Check size of short
-- Check size of short - done
-- Looking for include file malloc.h
-- Looking for include file malloc.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - found
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Looking for fork
-- Looking for fork - found
-- Found atl: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/atl/atl/atl-config.cmake (found version "2.2.2") 

-- ADIOS2 ThirdParty: Configuring dill
-- Check size of void*
-- Check size of void* - done
-- Check size of long
-- Check size of long - done
-- DILL - Disabling emulation
-- Found Perl: /home/crivella/.local/easybuild/software/Perl/5.38.0-GCCcore-13.2.0/bin/perl (found version "5.38.0") 
-- base.ops argument is  -build_shared
-- Looking for include file stdarg.h
-- Looking for include file stdarg.h - found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file sys/mman.h
-- Looking for include file sys/mman.h - found
-- Looking for __clear_cache
-- Looking for __clear_cache - not found

-- ADIOS2 ThirdParty: Configuring ffs
-- Check size of off_t
-- Check size of off_t - done
-- Check size of long double
-- Check size of long double - done
-- Check size of long long
-- Check size of long long - done
-- Check size of size_t
-- Check size of size_t - done
-- Looking for socket
-- Looking for socket - found
-- Found BISON: /home/crivella/.local/easybuild/software/Bison/3.8.2-GCCcore-13.2.0/bin/bison (found version "3.8.2") 
-- Found FLEX: /home/crivella/.local/easybuild/software/flex/2.6.4-GCCcore-13.2.0/bin/flex (found version "2.6.4") 
-- Found atl: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/atl/atl/atl-config.cmake (found suitable version "2.2.2", minimum required is "2.2.1") 
-- Looking for netdb.h
-- Looking for netdb.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for sockLib.h
-- Looking for sockLib.h - not found
-- Looking for sys/select.h
-- Looking for sys/select.h - found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/times.h
-- Looking for sys/times.h - found
-- Looking for sys/uio.h
-- Looking for sys/uio.h - found
-- Looking for sys/un.h
-- Looking for sys/un.h - found
-- Looking for winsock.h
-- Looking for winsock.h - not found
-- Looking for winsock2.h
-- Looking for winsock2.h - not found
-- Looking for strtof
-- Looking for strtof - found
-- Looking for strtod
-- Looking for strtod - found
-- Looking for strtold
-- Looking for strtold - found
-- Looking for getdomainname
-- Looking for getdomainname - found
-- Check size of struct iovec
-- Check size of struct iovec - done
-- Performing Test HAS_IOV_BASE_IOVEC
-- Performing Test HAS_IOV_BASE_IOVEC - Success
-- Float format is Format_IEEE_754_littleendian
-- Found atl: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/atl/atl/atl-config.cmake (found version "2.2.2") 
-- Found ffs: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/ffs/ffs/ffs-config.cmake (found version "3.1.9") 

-- ADIOS2 ThirdParty: Configuring enet
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for gethostbyaddr_r
-- Looking for gethostbyaddr_r - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - found
-- Looking for poll
-- Looking for poll - found
-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Looking for inet_ntop
-- Looking for inet_ntop - found
-- Performing Test HAS_MSGHDR_FLAGS
-- Performing Test HAS_MSGHDR_FLAGS - Success
-- Performing Test HAS_SOCKLEN_T
-- Performing Test HAS_SOCKLEN_T - Success
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Found enet: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/enet/enet/enet-config.cmake (found version "1.3.14") 

-- ADIOS2 ThirdParty: Configuring EVPath
-- Performing Test HAVE_MATH
-- Performing Test HAVE_MATH - Success
-- Found atl: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/atl/atl/atl-config.cmake (found suitable version "2.2.2", minimum required is "2.2.1") 
-- Found ffs: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/ffs/ffs/ffs-config.cmake (found suitable version "3.1.9", minimum required is "3.0.0") 
-- Found dill: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/dill/dill/dill-config.cmake (found suitable version "3.1.2", minimum required is "3.0.0") 
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for sys/epoll.h
-- Looking for sys/epoll.h - found
-- Looking for hostlib.h
-- Looking for hostlib.h - not found
-- Looking for sys/sockio.h
-- Looking for sys/sockio.h - not found
-- Performing Test HAVE_FDS_BITS
-- Performing Test HAVE_FDS_BITS - Failed
-- Looking for writev
-- Looking for writev - found
-- Looking for uname
-- Looking for uname - found
-- Looking for getloadavg
-- Looking for getloadavg - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Found atl: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/atl/atl/atl-config.cmake (found suitable version "2.2.2", minimum required is "2.2.2") 
-- Found ffs: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/ffs/ffs/ffs-config.cmake (found suitable version "3.1.9", minimum required is "3.1.9") 
-- Found EVPath: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj/thirdparty/EVPath/EVPath/EVPathConfigCommon.cmake (found version "4.5.8") 

-- Looking for rdma/fi_ext_gni.h
-- Looking for rdma/fi_ext_gni.h - not found
-- Detecting Fortran/C Interface
-- Detecting Fortran/C Interface - Found GLOBAL and MODULE mangling
-- Verifying Fortran/CXX Compiler Compatibility
-- Verifying Fortran/CXX Compiler Compatibility - Success
-- Performing Test ADIOS2_HAVE_FORTRAN_SUBMODULES
-- Performing Test ADIOS2_HAVE_FORTRAN_SUBMODULES - Success
-- Found Python3: /home/crivella/.local/easybuild/software/Python/3.11.5-GCCcore-13.2.0/bin/python (found version "3.11.5") found components: Interpreter 
-- Found zip executable: /usr/bin/zip

ADIOS2 build configuration:
  ADIOS Version : 2.10.0
  C++ standard  : 14
  C++ Compiler  : GNU 13.2.0 
    /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpicxx

  Fortran Compiler : GNU 13.2.0 
    /home/crivella/.local/easybuild/software/OpenMPI/4.1.6-GCC-13.2.0/bin/mpifort

  Installation prefix: /home/crivella/.local/easybuild/software/ADIOS2/2.10.2-20251024-foss-2023b
        bin: bin
        lib: lib
    include: include
      cmake: lib/cmake/adios2
     python: lib/python3.11/site-packages

  Features:
    Library Type: shared
    Build Type:   Release
    Testing: ON
    Examples: OFF
    Build Options:
      DataMan            : ON
      DataSpaces         : OFF
      HDF5               : ON, parallel 
      HDF5_VOL           : ON
      MHS                : ON
      SST                : ON
      Fortran            : ON
      MPI                : ON
      Python             : ON
      PIP                : OFF
      BigWhoop           : OFF
      Blosc2             : ON
      BZip2              : ON
      LIBPRESSIO         : OFF
      MGARD              : ON
      MGARD_MDR          : OFF
      PNG                : ON
      SZ                 : OFF
      ZFP                : OFF
      DAOS               : OFF
      IME                : OFF
      O_DIRECT           : ON
      Sodium             : ON
      Catalyst           : OFF
      SysVShMem          : ON
      UCX                : ON
      ZeroMQ             : ON
      Profiling          : ON
      Endian_Reverse     : OFF
      Derived_Variable   : OFF
      AWSSDK             : OFF
      XRootD             : OFF
      GPU_Support        : OFF
      CUDA               : OFF
      Kokkos             : OFF
      Kokkos_CUDA        : OFF
      Kokkos_HIP         : OFF
      Kokkos_SYCL        : OFF
      Campaign           : ON
      KVCACHE            : OFF
    Possible RDMA DataPlanes for SST:  fabric UCX MPI
-- Configuring done (71.5s)
-- Generating done (2.2s)
-- Build files have been written to: /home/crivella/.local/easybuild/build/ADIOS2/2.10.2-20251024/foss-2023b/easybuild_obj

In the first case you can see al deps are taken from separate dirs and not from ADIOS2/**/thirdparty, while in the latter they are from the internal thirdparty dir.

Can also test a quick build but i've not gotten around to try and debug the hangs/deadlocks in the test-suite yet

PS: Making those find target GLOBAL will make the XXX::XXX visible also to adjacent CMake projects, but not sure if it could mess up stuff elsewhere.
I had also managed to use the adios::thirdparty::XXX before as describe in #4697 (comment) by using set_target_properties to copy the property from XXX::XXX to adios::thirdparty::XXX after the find_package.
Not sure which is the best approach

@eisenhauer eisenhauer added this to the v2.11.0 milestone Nov 10, 2025
@eisenhauer
Copy link
Member

OK, I've tested this with external evpath builds and it all seems to work. I think the logic to try to make sure that the external evpath uses the same ffs/atl/dill that we find when searching is too much. We'll just assume that the builder is going to take care of that. @vicentebolea , this should go into master as well as the release candidate branch. I'm going to let you take care of the merge so that this happens and it doesn't get lost.

Copy link
Collaborator

@vicentebolea vicentebolea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contrib!

Making those find target GLOBAL will make the XXX::XXX visible also to adjacent CMake projects, but not sure if it could mess up stuff elsewhere.

We need to use something else since GLOBAL is cmake >= 3.24 and our min supported cmake is cmake >= 3.14.

When you refer to adjacent cmake projects do you mean another cmake project within (child) of the root project of adios2?

@Crivella
Copy link
Contributor Author

When you refer to adjacent cmake projects do you mean another cmake project within (child) of the root project of adios2?

The root project.
Childs should be able to see the results of find_package naturally.

We need to use something else since GLOBAL is cmake >= 3.24 and our min supported cmake is cmake >= 3.14.

I think the other proposed solution of copying the needed properties from the imported targets to the internal ones might be the only way.
Will check if i have it saved somewhere tomorrow

I also had experimented with trying to use ALIAS instead of defining a new target (in adios2_add_thirdparty_target), but without much success.

@vicentebolea
Copy link
Collaborator

When you refer to adjacent cmake projects do you mean another cmake project within (child) of the root project of adios2?

The root project. Childs should be able to see the results of find_package naturally.

We need to use something else since GLOBAL is cmake >= 3.24 and our min supported cmake is cmake >= 3.14.

I think the other proposed solution of copying the needed properties from the imported targets to the internal ones might be the only way. Will check if i have it saved somewhere tomorrow

I also had experimented with trying to use ALIAS instead of defining a new target (in adios2_add_thirdparty_target), but without much success.

Perhaps we can resolve this by copying more properties from the upstream target in adios2_add_thirdparty_target

@Crivella
Copy link
Contributor Author

Added the changes to copy the properties.
Tried to add it here first

function(adios2_add_thirdparty_target PackageName TargetName)

but it would fail since not all target defines it and at some point yaml-cpp was being passed there where the target is not defined and ends up hard-failing

@vicentebolea
Copy link
Collaborator

Added the changes to copy the properties. Tried to add it here first

function(adios2_add_thirdparty_target PackageName TargetName)

but it would fail since not all target defines it and at some point yaml-cpp was being passed there where the target is not defined and ends up hard-failing

We can copy those properties if they exists in the target

@vicentebolea
Copy link
Collaborator

@Crivella please try the latest changes.

@Crivella
Copy link
Contributor Author

That is what i had originally tried (without the if as it will just set to XXX-NOTFOUND)
The problem i was having was with using also an external yaml-cpp as that does not define the corresponding target (i assume with the internal one it is defined for the build).

-- ADIOS2 ThirdParty: Configuring nlohmann_json
-- Found nlohmann_json: /home/crivella/.local/easybuild/software/nlohmann_json/3.11.3-GCCcore-13.2.0/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.3") 
CMake Error at cmake/ADIOSFunctions.cmake:166 (get_target_property):
  get_target_property() called with non-existent target "yaml-cpp".
Call Stack (most recent call first):
  thirdparty/CMakeLists.txt:78 (adios2_add_thirdparty_target)

I went the other approach to avoid having to add an exception for every library that could not define a target using an add_library or similar in its XXX-config.cmake

@vicentebolea
Copy link
Collaborator

@Crivella find the latest commit addressing this

@Crivella
Copy link
Contributor Author

Sorry did not realize this was a yaml-cpp > 0.7 problem.
On top of the latest commit I was able to run the configure/build successfully with:

  • an all internal dependencies build

  • a build with the following USE_EXTERNAL

      '-DADIOS2_USE_EXTERNAL_PYBIND11=ON',
      '-DADIOS2_USE_EXTERNAL_YAMLCPP=ON',
      '-DADIOS2_USE_EXTERNAL_NLOHMANN_JSON=ON',
      '-DADIOS2_USE_EXTERNAL_PUGIXML=ON',
      '-DADIOS2_USE_EXTERNAL_GTEST=ON',
      '-DADIOS2_USE_EXTERNAL_DILL=ON',
      '-DADIOS2_USE_EXTERNAL_ATL=ON',
      '-DADIOS2_USE_EXTERNAL_FFS=ON',
      '-DADIOS2_USE_EXTERNAL_ENET=ON',
      '-DADIOS2_USE_EXTERNAL_EVPATH=ON',
    

@vicentebolea
Copy link
Collaborator

Merging since the last commit fixes the issue, we are about to release and CI passes.

@vicentebolea vicentebolea merged commit 1a98c42 into ornladios:master Nov 14, 2025
40 checks passed
vicentebolea added a commit to vicentebolea/ADIOS2 that referenced this pull request Nov 14, 2025
…evpath

Potential fix for CMake logic in using an external EVPath build

(cherry picked from commit 1a98c42)
@Crivella Crivella deleted the faeture-fix_external_evpath branch November 14, 2025 21:51
vicentebolea added a commit to vicentebolea/ADIOS2 that referenced this pull request Nov 16, 2025
…evpath

Potential fix for CMake logic in using an external EVPath build

(cherry picked from commit 1a98c42)
vicentebolea added a commit that referenced this pull request Nov 16, 2025
Merge pull request #4697 from Crivella/faeture-fix_external_evpath
vicentebolea added a commit that referenced this pull request Nov 16, 2025
* origin/release_211:
  Bump version to v2.11.0
  Merge pull request #4697 from Crivella/faeture-fix_external_evpath
  ci: trim static jobs to avoid gh limits
  examples: do not install binaries
  RDMA dataplane: Share fi_fabric() and don't close until all are done (Release Branch) (#4719)
  Fix logic error in BP5 selective metadata aggregation (#4718)
  docs: add whatsnew section for 2.11
  ci: quote branches to where to run the ci
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants