ornladios / ADIOS2

Next generation of ADIOS developed in the Exascale Computing Program
https://adios2.readthedocs.io/en/latest/index.html
Apache License 2.0
274 stars 127 forks source link

2.9.2 w/ C-Blosc2 v2.11.1 Static #3903

Open ax3l opened 1 year ago

ax3l commented 1 year ago

Describe the bug I am building an all-static build of ADIOS2 v2.9.2 with C-Blosc2 v2.11.1 for Wheels in https://github.com/openPMD/openPMD-api/pull/1554

While installing ADIOS2 works, using it downstream fails with

2023-11-07T03:44:31.2185681Z   -- Configuring done (8.1s)
2023-11-07T03:44:31.3333449Z   CMake Error at C:/Program Files (x86)/ADIOS2/lib/cmake/adios2/adios2-targets.cmake:86 (set_target_properties):
2023-11-07T03:44:31.3337501Z     The link interface of target "adios2::adios2_blosc2" contains:
2023-11-07T03:44:31.3340764Z 
2023-11-07T03:44:31.3344814Z       Blosc2::blosc2_static
2023-11-07T03:44:31.3348057Z 
2023-11-07T03:44:31.3352143Z     but the target was not found.  Possible reasons include:
2023-11-07T03:44:31.3355109Z 
2023-11-07T03:44:31.3358878Z       * There is a typo in the target name.
2023-11-07T03:44:31.3362359Z       * A find_package call is missing for an IMPORTED target.
2023-11-07T03:44:31.3365646Z       * An ALIAS target is missing.
2023-11-07T03:44:31.3368954Z 
2023-11-07T03:44:31.3372324Z   Call Stack (most recent call first):
2023-11-07T03:44:31.3376402Z     C:/Program Files (x86)/ADIOS2/lib/cmake/adios2/adios2-config-common.cmake:197 (include)
2023-11-07T03:44:31.3379473Z     C:/Program Files (x86)/ADIOS2/lib/cmake/adios2/adios2-config.cmake:29 (include)
2023-11-07T03:44:31.3382839Z     CMakeLists.txt:443 (find_package)

To Reproduce See scripts in https://github.com/openPMD/openPMD-api/pull/1554

Expected behavior Did build with 2.9.1 and a slightly older C-Blosc2, per linked PR.

Desktop (please complete the following information):

Additional context https://github.com/openPMD/openPMD-api/pull/1554

ax3l commented 1 year ago

If I remove the installed FindBlosc2.cmake file then it finds it... #3714

ax3l commented 1 year ago

cc @vicentebolea :)

ax3l commented 1 year ago

@vicentebolea I think this commit is missing from 2.9.2? https://github.com/ornladios/ADIOS2/commit/8333d5e6ff4665d12cbbd5bae5150bfff5be2daa / https://github.com/ornladios/ADIOS2/commit/276383a02ff9727c40def96464d112a6385a05a7 / #3715

vicentebolea commented 12 months ago

@vicentebolea I think this commit is missing from 2.9.2? 8333d5e / 276383a / #3715

@ax3l 2.9.2 has these two commits. It means that the error that you see and that it gets solved by removing the findblosc2 is due to fact that the installed blosc2config.cmake is not found.

ax3l commented 11 months ago

Thank you for the hint, @vicentebolea!

In https://github.com/openPMD/openPMD-api/pull/1554, I think on Windows it def finds the blosc2 location now (Found Blosc2: ...) but it still shows that error.

ax3l commented 9 months ago

Trying ADIOS 2.10.1-rc1 now and am stuck with compiling ADIOS2 itself #4019

I really would love an an all-static, Linux & Windows, ADIOS2 build w/ C-Blosc2 (also static) in CI please :)

franzpoeschel commented 9 months ago

(copied from #4019 where I accidentally wrote this comment first) I think I found the problem and it looks like it could be a CMake bug. I was able to reproduce the same issue with CMake 3.23 on Windows (install Blosc2 and ADIOS2 statically --> try configuring openPMD-api with these dependencies). I checked the CMake scripts and they looked fine, so instead I upgraded to CMake 3.28, and that seems to work now.