Updates from macOS testing#53
Conversation
climbfuji
left a comment
There was a problem hiding this comment.
I don't see any problem with these updates. Let's make sure they work as expected in spack-stack CI. I may also want to test on my WSL2 laptops.
Should I make a PR to spack-stack updating the submodule to see how the CI responds? |
Yes please |
@climbfuji I just did JCSDA/spack-stack#1990 but I might have done the git wrong. Weirdly, I see your |
because JCSDA/spack-stack#1988 isn't merged yet |
climbfuji
left a comment
There was a problem hiding this comment.
Is this PR a draft until the upstream PRs are all merged?
Oh sorry. I guess I forgot this was draft. I think this is good for GCC at least. Let me try one more build with it to make sure GCC doesn't fall apart. NAG is still...exciting. |
In my current testing with spack-stack and macOS, I found I needed to update several packages used in GEOS. This PR is broader than the title suggests — summary below.
NAG compiler support (macOS/Darwin)
These changes were needed to build with the NAG Fortran compiler on macOS:
esmf: Fix compiler detection to usespec["fortran"].nameinstead ofself.pkg.compiler.namefor NAGhdf5: Addnag_macos_linker.patchto fix Apple linker flags (-current_version/-compatibility_version) when building with NAG on Darwin (@1.12.0:1.14.99 %nag platform=darwin)nag: Addpic_flag = "-PIC"netcdf-fortran: Addfix_darwin_libtoolpost-configure hook that rewrites libtool linker flags for%nag platform=darwin(install name, compatibility version,-Xlinkerpassthrough)libiconv
Updated by pulling from upstream spack (
official/develop), plus additional fixes:platform=darwinconflict — libiconv can now build on macOSloop_wchar_9eb508.patchfor@:1.17: removes implicitmbrtowcdeclaration that fails as a prototype error on newer compilersgl_cv_func_working_errorconfigure infinite-loop bug (affects%oneapi@:2025; see Intel community post)determine_version/ externaliconvdetection logic (no longer needed)openblas
Updated by pulling from upstream spack (
official/develop), plus additional fixes:0.3.30,0.3.32; deprecate versions0.3.19and older@0.3.21:0.3.26,@0.3.27,@0.3.28:)@0.3.30 platform=darwin(handles Xcode 16+ with[ -ge ]instead ofifeq)blas_normalize_test_symbols.patchfor MSVC: adds-DNOCHANGEto normalize test symbol mangling+staticvariant for building static librariesfortrandependency is now conditional on+fortranor@:0.3.20(not unconditional)NO_SVE=1for dynamic arch buildsmaketargets (libs,netlib,shared) to avoid race conditions in parallel buildsfind_headersnow usesrecursive=True~ilp64andsymbol_suffix=nonerequirements; add+staticsupportopenmpi
Updated by pulling from upstream spack (
official/develop), plus:5.0.9,5.0.10add_string.patch: missing#include <string.h>in ROCm accelerator modulefix_fs_gpfs_file_set_info.patch: GPFS replication struct compatibility fix forgpfsSetReplicationX(see ompi #13313)This is still in draft as testing is ongoing. @climbfuji — would appreciate a review, especially on the openmpi changes which diverge significantly from the previous version.