-
Notifications
You must be signed in to change notification settings - Fork 6
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
Issue with P4est_jll and MPIPreferences #87
Comments
Good question. I'm not really familiar with the build setup of HDF5_jll. How do they handle MPI? |
I think this happens because we do not build P4est_jll for OpenMPI, see That means if we use P4est_jll as-is, loading a different MPI library than MPICH will cause P4est_jll to not find a suitable artifact and thus @JoshuaLampert if you're willing to take a stab at this, I can guide you through using BB.jl and the |
Thanks, @sloede! I was thinking something along those lines since HDF5_jll cross-compiles for all MPI implementations and P4est_jll does not. |
The first things are super easy:
Now you wait and see until Yggdrasil has built all configurations and you check how many of them fail. Then, pick the "easiest" sounding config that fails (for example, Windows is not easy, whereas x86 Linux might be) and try to build it locally:
After that, I think it's better to ask specific questions :-) |
Thanks a lot for the detailed description @sloede . I'll try it tomorrow. |
Ok, a new version of P4est_jll is out (JuliaPackaging/Yggdrasil#7500), which also builds OpenMPI (that was easier than expected :-)). So this should be fixed (at least for the most common systems). |
If that works, it's a nice addition. It's just important to restart Julia since it's a compile-time preference, isn't it? |
Yes you would still need to restart Julia. |
Good idea! If HDF5 started with |
See my PR #88. I used a similar pattern as in HDF5.jl. |
Let me bring up the following issue again. MWE: In a fresh environment with
julia --project=.
, dobut after leaving and restarting the REPL
julia --project=.
:After deleting the LocalPreferences.toml, of course, this works again.
This has not been a real issue as one usually wants to use a custom p4est version (and not the one from P4est_jll) when using a system MPI anyway, but the reason I come up with this again is that the exact same steps as above, but with HDF5_jll and libhdf5 does not give any
UndefVarError
for me, as I would also expect. If this would work for P4est_jll, we can think about adding a convenience functionset_libraries!
(or similar) that sets the preferences for P4est.jl as it is done in JuliaIO/HDF5.jl#1115. However, with the error aboveusing P4est
does not work as long as we have MPIPreferences set and so the convenience function could not be called. Do we know why this happens with P4est_jll in the first place? Does it also happen with a local MPICH version (which is the default for P4est_jll.jl)? And even better: Can we fix this for P4est_jll?This would also make https://trixi-framework.github.io/P4est.jl/stable/troubleshooting/ obsolete.
The text was updated successfully, but these errors were encountered: