-
-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
gcc: switch back to ld-classic linker #167319
Conversation
766bc4f
to
312e893
Compare
Forcing ld-classic like this broke Given Apple have made it clear that Tbh OpenMPI's structure is quite outdated in a few regards, including the use of flat namespaces but that's a separate discussion. |
In the end it's not GCC itself that's passing
Can you clarify this a bit? It seems to work fine:
|
No: it is being treated as a bug, will be fixed, and the recommended workaround is to use
We definitely agree on that…
I'm aware of #150225, are there any others? For now, I think unbreaking openmpi (even if it means breaking mpich) is desirable: it is our "default" MPI implementation, has more uses, etc. And I can probably unbreak mpich by hacking its configure scripts some more (if they haven't fixed the issue in the meantime). |
Re. why we can't pass
Edit: maybe it's just the warning, though? I've tried a build of open-mpi with that option in #166807 |
Bit weird for there to be an explicit message saying it's "no longer supported" but to actually be a bug, but ok fair enough. There might be one more Xcode release in May though we're near the end of the yearly cycle.
I think it might have been a discussion thread of a similar issue to |
Looks to be a warning bug yeah:
Unless it actually goes through arg mangling to pass it to |
The extended verbose mode which only kicks in if
|
Thanks for helping me realise I got it wrong, I figured out a fix localised to open-mpi in #166807 |
Since Xcode 15.3, OpenMPI has had trouble working with GCC for the Fortran part. See for example in #166807
What is recommended for now is to switch back to the old linker. We could in theory do this by passing
-ld_classic
asLDFLAGS
to selected packages, but… this is also buggy and does not work in Xcode 15.3 😢So, we have to re-enable the classic linker throughout GCC (we did so from the release of Xcode 15 to Xcode 15.2 in December).