-
Notifications
You must be signed in to change notification settings - Fork 868
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
ompi_setup_fc.m4: use -Wl,-ld_classic if supported #12650
Conversation
I think that, with Xcode 16 beta, the support of |
@fxcoudert Ah -- interesting point! That certainly makes things more complicated. I'll push an update here that seems to work for me -- can you check it as well? I'm going to switch this PR back to draft status because I'm not entirely happy with how I coded up the configury; @bwbarrett can you chime in with any better suggestions on how to build the shared library in |
a083686
to
9ef1042
Compare
The above force-push was to update/clarify some of the explanation comments -- no code or logic changed. |
@bwbarrett and I talked through this on the RM call today; this PR seems to be a reasonable compromise. Move this PR out of Draft state. @fxcoudert and/or anyone else: can you test this on your systems and see if it fixes the issue for you? |
Per open-mpi#12427, on MacOS, add -Wl,-ld_classic to the Fortran wrapper compiler if that flag is needed. Specifically, Open MPI has used -Wl,-commons,use_dylibs for decades to support common symbols (e.g., MPI_BOTTOM) in the Fortran bindings. There is a window of Xcode versions where this switch was effectively disabled; it effectively required the additional -Wl,-ld_classic switch to force the use of the "old" Apple linker (that still supported -Wl,-commons,use_dylibs). Update the configury to test whether we need -Wl,-ld_classic or not. Signed-off-by: Jeff Squyres <[email protected]>
9ef1042
to
84555f0
Compare
@bwbarrett All issues have been addressed; please re-review. |
Per #12427, on MacOS, add -Wl,-ld_classic to the Fortran wrapper compiler if that flag is needed.
Specifically, Open MPI has used -Wl,-commons,use_dylibs for decades to support common symbols (e.g., MPI_BOTTOM) in the Fortran bindings. There is a window of Xcode versions where this switch was effectively disabled; it effectively required the additional -Wl,-ld_classic switch to force the use of the "old" Apple linker (that still supported -Wl,-commons,use_dylibs). Update the configury to test whether we need -Wl,-ld_classic or not.
Refs #12427
FYI @jeffhammond @fxcoudert @ggouaillardet