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

Runtime error with GNU libraries for scream tests #6677

Open
ndkeen opened this issue Oct 10, 2024 · 1 comment
Open

Runtime error with GNU libraries for scream tests #6677

ndkeen opened this issue Oct 10, 2024 · 1 comment
Labels
EAMxx PRs focused on capabilities for EAMxx GNU GNU compiler related issues Machine Files pm-cpu Perlmutter at NERSC (CPU-only nodes)

Comments

@ndkeen
Copy link
Contributor

ndkeen commented Oct 10, 2024

For test like: SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1.pm-cpu_gnu

I get:

21: /pscratch/sd/n/ndk/e3sm_scratch/pm-cpu/nup/SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1.pm-cpu_gnu.20241010_144522_00l7iv/bld/e3sm.exe: /opt/cray/pe/gcc-libs/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /pscratch\
/sd/n/ndk/e3sm_scratch/pm-cpu/nup/SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1.pm-cpu_gnu.20241010_144522_00l7iv/bld/e3sm.exe)

where "normal" non-scream cases are ok with gnu, like
SMS_D_Ln5.ne4pg2_oQU480.F2010.pm-cpu_gnu

Could it be related to E3SM-Project/scream#2972 ?

@ndkeen ndkeen added Machine Files GNU GNU compiler related issues EAMxx PRs focused on capabilities for EAMxx pm-cpu Perlmutter at NERSC (CPU-only nodes) labels Oct 10, 2024
@xylar
Copy link
Contributor

xylar commented Oct 14, 2024

@ndkeen, I've seen something similar (see E3SM-Ocean-Discussion#112) when I try to build E3SM tests (even non-scream tests) on LANL's Chicoma machine, which is pretty similar to Perlmutter. It looked to me like Chicoma has a outdated symlink at /opt/cray/pe/gcc-libs/libstdc++.so.6 to an older version of gcc, which seemed to explain the missing symbols for newer gcc (see https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html). I haven't had a chance to check on Perlmutter but I suspect something similar is happening. Not sure why it's only triggered by scream tests there but maybe they're using newer features that require the newer GLIBCXX version?

It seems like the rpath for /opt/cray/pe/gcc-libs/ is hard-coded into ftn and the other cray compiler wrappers. So it seems like there's an expectation that the symlinks in that location are maybe the latest versions that are supported (since different gcc versions get the same rpath).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EAMxx PRs focused on capabilities for EAMxx GNU GNU compiler related issues Machine Files pm-cpu Perlmutter at NERSC (CPU-only nodes)
Projects
None yet
Development

No branches or pull requests

2 participants