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

Compiler workaround: Pull internal subroutine out to module-level #9

Merged
merged 1 commit into from
Dec 3, 2024

Conversation

billsacks
Copy link
Member

This shouldn't be needed, but is needed with some Mac configurations to work around an issue with clang.

Resolves #8

@theurich - any objections to this change?

This shouldn't be needed, but is needed with some Mac configurations to
work around an issue with clang.

Resolves #8
@billsacks billsacks requested a review from theurich December 2, 2024 23:48
@billsacks billsacks self-assigned this Dec 2, 2024
@billsacks
Copy link
Member Author

I have tested this on green and hearhear and it resolves the failure in ExternalDriverAPIWeakCplDAProto on both.

Copy link
Member

@theurich theurich left a comment

Choose a reason for hiding this comment

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

Feels like bending over backward to make Darwin happy.... not the first time, and also probably not the last time. Just happy you found a reasonable workaround!

@billsacks
Copy link
Member Author

Feels like bending over backward to make Darwin happy.... not the first time, and also probably not the last time.

Totally agreed.

(And now I'm working on another issue on hearhear that I think is due to the lack of openmp support in Apple's clang, since

if [[ $OSTYPE = *darwin* ]]
then
# Darwin systems that use Apple Clang need extra environment variables
# to find the libomp installation. These are important for the ESMX
# tests where CMake is used under the hood to determine the correct
# compiler and linker flags. Set them here to be available:
export LDFLAGS=-L/opt/homebrew/opt/libomp/lib
export CXXFLAGS=-I/opt/homebrew/opt/libomp/include
export CFLAGS=-I/opt/homebrew/opt/libomp/include
fi
doesn't work in this spack-based setup.... Ah, Apple, why do you make things so difficult?)

@billsacks billsacks merged commit dfda621 into develop Dec 3, 2024
1 check passed
@billsacks billsacks deleted the fix/darwin_ExternalDriverAPIWeakCplDAProto branch December 3, 2024 00:29
@billsacks
Copy link
Member Author

@theurich FYI, since I know how much you like these Darwin workarounds, here's the other fix I'm needing with the spack-based setup:

https://github.com/esmf-org/nuopc-app-prototypes/compare/dfda6215632e2be20f231510c1560bd453c3291a..dc43e0f417661766c6ec4bc36662d39c892f0269

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.

Recent failures in ExternalDriverAPIWeakCplDAProto build on Darwin machines in debug mode
2 participants