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
HDF5: Update to 1.14.3 #7908
HDF5: Update to 1.14.3 #7908
Conversation
@eschnett , what if broke this up and put the Fortran and C++ libraries into different JLLs? Is that very complicated? |
@eschnett the mpitrampoline builds are getting stuck again, they stop at some configure check:
Looking at one of the other jobs this should probably be followed by something like In the previous build they were stuck there for 4 hours until being killed: https://buildkite.com/julialang/yggdrasil/builds/7586#018cd787-ec93-4dc8-af99-dbf1d600aad0/620-6092 |
@benlorenz I fixed the MPItrampoline problem. |
@mkitti Separating Are you worried about Yggdrasil build times or about Julia loading unnecessary libraries? |
Related to #7906 (comment), I looked at the log of aarch-apple-darwin and I don't see openmp being mentioned at all anywhere. None of the files in |
Cross compilation to Windows almost works for C. Configure fails with the ROS3 driver enabled because it fails to detect
From config.log:
|
|
Fortran support currently still depends on |
The HDF5 configure script still calls |
I removed the MSYS2 dependencies and added lib64 to CFLAGS and FCFLAGS here: I've posted a preview here for testing: I ran into some complications with Microsoft MPI, so that is not truly enabled at the moment, but I think this is a step in the right direction. Fortran and C++ libraries are included in these builds, meaning we can now enable all the library and executable products. |
Build Windows using cross compile, remove msys2 sources
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. The last thing I can think of is fixing the following, but I think this is a already a major leap in the right direction.
┌ Warning: Dependency("MPIPreferences") was defined as top-level but this is deprecated, use `RuntimeDependency` instead
└ @ BinaryBuilderBase ~/.julia/packages/BinaryBuilderBase/tGUXK/src/Dependencies.jl:131
I tested against the current HDF5.jl, all tests pass.
Ping @simonbyrne , @musm |
@mkitti The |
@@ -6,54 +6,18 @@ const YGGDRASIL_DIR = "../.." | |||
include(joinpath(YGGDRASIL_DIR, "platforms", "mpi.jl")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought the idea is that we would remove this line and replace it with a RuntimeDependency
, but I'm a bit confused as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why replacing that line? That'd break everything. At most you want to try and change
Line 82 in 4d82df7
push!(dependencies, Dependency(PackageSpec(name="MPIPreferences", uuid="3da0fdf6-3ccc-4f1b-acd9-58baa6c99267"); compat="0.1", top_level=true)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might work now with JuliaPackaging/BinaryBuilderBase.jl#304 and JuliaPackaging/BinaryBuilder.jl#1273 but haven't tried it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm starting to follow. You're saying we need to edit Yggdrasil/platforms/mpi.jl
by perhaps reverting c4069bf.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only if it solves #6417 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking we should leave this for another pull request since fixing that will probably hit multiple recipes.
I'm good to merge this as is now if Erik is good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think #7908 (comment) was addressed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# For OpenMP we use libomp from `LLVMOpenMP_jll` where we use LLVM as compiler (BSD | ||
# systems), and libgomp from `CompilerSupportLibraries_jll` everywhere else. | ||
Dependency(PackageSpec(name="CompilerSupportLibraries_jll", uuid="e66e0078-7015-5450-92f7-15fbd957f2ae"); | ||
platforms=filter(!Sys.isbsd, platforms)), | ||
Dependency(PackageSpec(name="LLVMOpenMP_jll", uuid="1d63c593-3942-5779-bab2-d838dc0a180e"); | ||
platforms=filter(Sys.isbsd, platforms)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@giordano OpenMP was removed as a dependency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I didn't see that addressed in the comments after my comment, I missed it had been changed before! The diff was quite large 🥲
Are we sure this build won't break ABI on Windows compared to our v1.14.2 build which was using prebuilt binaries? |
NetCDF seems to work.
|
Ok, that's promising, thanks! |
This includes and supersedes #7906.