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

Hotfix: Run failing macos-latest tests on macos-13 #829

Closed
wants to merge 10 commits into from

Conversation

sloede
Copy link
Member

@sloede sloede commented Apr 27, 2024

Based on reports in #828

@sloede
Copy link
Member Author

sloede commented Apr 27, 2024

The two system/Homebrew tests on macos-latest fail as well:

Switching them to macos-13 or macos-12 seems like a suitable workaround.

Running some more tests to see if test-mpitrampoline-jll (macos-latest, mpitrampoline, 1.6, x64) can be fixed by either going to an older macOS image or by providing the correct architecture.

@sloede sloede changed the title Run Homebrew tests on different macOS runners Hotfix: Run failing macos-latest tests on macos-13 Apr 27, 2024
@sloede
Copy link
Member Author

sloede commented Apr 27, 2024

@giordano @simonbyrne This PR provides a hotfix for the failing CI tests. Whether to merge this or not, I'll leave up to you. Unfortunately, I do not have the resources to tackle this issue at the root, so this is only a bandaid.

@sloede sloede requested review from giordano and simonbyrne April 27, 2024 08:43
@giordano
Copy link
Member

I think the problem is relatively simple: julia just can't find the MPI library because it isn't anywhere accessible. If I manually set DYLD_FALLBACK_LIBRARY_PATH then I can find libmpi:

$ DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/Cellar/mpich/4.2.1/lib julia -q
julia> using Libdl

julia> find_library("libmpi")
"libmpi"

I have no clue of how this magically works in older versions of macOS

@giordano
Copy link
Member

Ah, I think I understand now: up to the macos-13 image, the brew commands used to install packages in /usr/local (which is probably a default search path for the dynamic loader), but in macos-14 they're now installed under /opt/homebrew. I don't know whether this is a change in Homebrew, or macOS, or whatever, but the net result is that libmpi isn't anymore in a default search path for the dynamic loader, and so we have to do something #831 to reliably make loading libmpi. An alternative could be to tell Homebrew to install the packages again in /usr/local, but I think setting DYLD_FALLBACK_LIBRARY_PATH is slightly more general: we don't have to change the installation directory.

@sloede
Copy link
Member Author

sloede commented Apr 29, 2024

I don't know whether this is a change in Homebrew, or macOS, or whatever

https://apple.stackexchange.com/a/437622

@giordano
Copy link
Member

Thanks for finding the reference! That confirms there isn't anything broken in MPI.jl, it was only an infrastructure change in the environment 🙂

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