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

Fix the build option for LAMMPS to actually enable MPI #9185

Closed
wants to merge 5 commits into from

Conversation

vchuravy
Copy link
Member

@vchuravy vchuravy commented Aug 1, 2024

platforms, platform_dependencies = MPI.augment_platforms(platforms)
# Avoid platforms where the MPI implementation isn't supported
# OpenMPI
platforms = filter(p -> !(p["mpi"] == "openmpi" && arch(p) == "armv6l" && libc(p) == "glibc"), platforms)
platforms = filter(p -> !(p["mpi"] == "openmpi" && nbits(p) == 32), platforms)
Copy link
Member

Choose a reason for hiding this comment

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

You don't need to filter out 32-bit platforms if you build against OpenMPI 4:

platforms, platform_dependencies = MPI.augment_platforms(platforms; MPItrampoline_compat="5.3.1", OpenMPI_compat="4.1.6, 5")
. However, one issue I never had the time to look at is #8211 (this compat doesn't seem to be propagated correctly)

Copy link
Member Author

Choose a reason for hiding this comment

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

How does: OpenMPI_compat="4.1.6, 5" work? Do we not need to build against OpenMPI v4 and OpenMPI v5 separately?

Copy link
Member

@giordano giordano Aug 15, 2024

Choose a reason for hiding this comment

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

the compat forces the lower version as build version, for OpenMPI we don't need separate builds because the two major versions are ABI-compatible, we just have more platforms available with OpenMPI v4

L/LAMMPS/build_tarballs.jl Outdated Show resolved Hide resolved
L/LAMMPS/build_tarballs.jl Outdated Show resolved Hide resolved
@vchuravy
Copy link
Member Author

@giordano

[ Info: Checking shared library lib/liblammps.so.0
ERROR: could not load library "/cache/build/yggy-amdci7-3/julialang/yggdrasil/L/LAMMPS/build/x86_64-linux-gnu-cxx11-mpi+mpitrampoline/i3ZWjkPZ/x86_64-linux-gnu-libgfortran5-cxx11-mpi+mpitrampoline/destdir/lib/liblammps.so.0"
libgfortran.so.5: cannot open shared object file: No such file or directory
┌ Warning: lib/liblammps.so.0 cannot be dlopen()'ed
└ @ BinaryBuilder.Auditor /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/mzSV7/src/Auditor.jl:173
[ Info: lib/liblammps.so.0 already has SONAME "liblammps.so.0"

any ideas?

@giordano
Copy link
Member

Uhm, maybe wrong RPATH?

@vchuravy
Copy link
Member Author

It's weird since it is just this one build with mpitrampoline cc: @eschnett

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.

2 participants