Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wheels: ADIOS2 v2.10.0 #1554

Open
wants to merge 12 commits into
base: wheels
Choose a base branch
from
Open

Wheels: ADIOS2 v2.10.0 #1554

wants to merge 12 commits into from

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Nov 7, 2023

Build wheels with ADIOS2 v2.9.2+, which fixes c-blosc2 issues with null-blocks.
Build with 2.10.0, which fixes static builds with ADIOS2 & c-blosc2 on Windows.

Note: since we do not bump the version of the already released 0.15.2 release, this will not create new wheels. Once we publish 0.15.3, this will be included.

Note: ADIOS2 BP5 supports will be available for Windows with the ADIOS 2.10+ release series.

Build wheels with ADIOS2 v2.9.2, which fixes c-blosc2 issues with
null-blocks.
@ax3l
Copy link
Member Author

ax3l commented Dec 1, 2023

@vicentebolea can you help me with this all-static deployment of ADIOS 2.9.2? It is related to the upstream issues I opened :)

@ax3l
Copy link
Member Author

ax3l commented Dec 1, 2023

Does BP5 not work on Windows for ADIOS2 2.9.2?

# BP5
if(ADIOS2_USE_BP5 AND NOT WIN32)
  set(ADIOS2_HAVE_BP5 TRUE)
endif()

We want to switch our default output to BP5 after our last discussion w/ @pnorbert :) Serial read support would be awesome on any platform :)

Update: confirmed, will be part of the ADIOS2 v2.10 release series (already in ADIOS2 development branch).

library_builders.bat Outdated Show resolved Hide resolved
@ax3l
Copy link
Member Author

ax3l commented Jan 30, 2024

ADIOS 2.10.0-rc1 on Windows:

2024-01-30T18:43:37.2016284Z   adios2_c_variable.cpp
2024-01-30T18:43:37.4167988Z LINK : fatal error LNK1104: cannot open file 'ffi.lib' [D:\a\openPMD-api\openPMD-api\src\build-adios2\source\utils\bpls.vcxproj]
2024-01-30T18:43:37.4954992Z   main.cpp
2024-01-30T18:43:38.2227279Z   Reorganize.cpp
2024-01-30T18:43:38.2323129Z   adios2_c_attribute.cpp
2024-01-30T18:43:38.5659633Z   IO.cpp
2024-01-30T18:43:39.1746622Z   adios2_c_operator.cpp
2024-01-30T18:43:39.4554626Z   Utils.cpp
2024-01-30T18:43:39.6007589Z   Operator.cpp
2024-01-30T18:43:39.9410487Z   Generating Code...
2024-01-30T18:43:40.0518750Z   Generating Code...
2024-01-30T18:43:40.3069063Z LINK : fatal error LNK1104: cannot open file 'ffi.lib' [D:\a\openPMD-api\openPMD-api\src\build-adios2\source\utils\adios_reorganize.vcxproj]

ornladios/ADIOS2#4019

@franzpoeschel
Copy link
Contributor

I think I found the problem and it looks like 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.

@ax3l
Copy link
Member Author

ax3l commented Feb 27, 2024

Awesome!

Hm, CI installs CMake 3.28.1 already... Let me check if it picks up the right version.

@vicentebolea
Copy link

@ax3l it appears that we were exporting blosc2 unnecessarily, and when doing out find_dependency defaulted to module as per cmake 3.24, rather than config. Solution seems to be not to export it anyways as our bloscs2 dep is private.

@ax3l
Copy link
Member Author

ax3l commented Feb 28, 2024

Thank you, @vicentebolea!

Is there potentially a patch I can apply for this?
Note that I am doing an all-static build for pip here, so to some extent I think we need to export blosc2 at least on the link lines.

@vicentebolea
Copy link

@ax3l we are release adios 2.10 (final release) very soon. Otherwise I think that those changes are patchable (in 2.10 and 2.9.2)

@ax3l
Copy link
Member Author

ax3l commented Feb 28, 2024

@vicentebolea Awesome - can I test a branch / RC here? :)

@ax3l
Copy link
Member Author

ax3l commented Mar 12, 2024

@vicentebolea Can I test a branch / RC for ADIOS2 2.10 already? :)

@vicentebolea
Copy link

@vicentebolea Can I test a branch / RC for ADIOS2 2.10 already? :)

Current release_210 should have the fix for the windows static build

@ax3l
Copy link
Member Author

ax3l commented Mar 12, 2024

@vicentebolea thanks, I pushed to use release_210 and still see in an all-static build:

  • c-blosc2 static
  • adios2 static
  • openPMD-api static
  • openPMD-api Python module: shared

the same issue.

Snippet from the Windows CI in this PR:

2024-03-12T18:13:01.6247052Z   CMake Error at C:/Program Files (x86)/ADIOS2/lib/cmake/adios2/adios2-targets.cmake:79 (set_target_properties):
2024-03-12T18:13:01.6248634Z     The link interface of target "adios2::core" contains:
2024-03-12T18:13:01.6251135Z 
2024-03-12T18:13:01.6253673Z       Blosc2::blosc2_static
2024-03-12T18:13:01.6255673Z 
2024-03-12T18:13:01.6258466Z     but the target was not found.  Possible reasons include:
2024-03-12T18:13:01.6260527Z 
2024-03-12T18:13:01.6263217Z       * There is a typo in the target name.
2024-03-12T18:13:01.6265554Z       * A find_package call is missing for an IMPORTED target.
2024-03-12T18:13:01.6267457Z       * An ALIAS target is missing.
2024-03-12T18:13:01.6269395Z 
2024-03-12T18:13:01.6271796Z   Call Stack (most recent call first):
2024-03-12T18:13:01.6274492Z     C:/Program Files (x86)/ADIOS2/lib/cmake/adios2/adios2-config-common.cmake:198 (include)
2024-03-12T18:13:01.6277493Z     C:/Program Files (x86)/ADIOS2/lib/cmake/adios2/adios2-config.cmake:29 (include)
2024-03-12T18:13:01.6278618Z     CMakeLists.txt:443 (find_package)

@vicentebolea
Copy link

@ax3l can you try the 2.10.0-rc1 and when find_package(ADIOS2) add a CONFIG.

@vicentebolea
Copy link

Try this branch for fixing the windows build: ornladios/ADIOS2#4093

library_builders.bat Outdated Show resolved Hide resolved
Co-authored-by: Vicente Bolea <vicente.bolea@gmail.com>
@ax3l ax3l changed the title Wheels: ADIOS2 v2.9.2 Wheels: ADIOS2 v2.10.0 Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants