-
Notifications
You must be signed in to change notification settings - Fork 139
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 error fms 2023.03 with gnu 12.2.0 (coupler_types.F90 - fms_io_register_restart_field) #1417
Comments
@climbfuji - what is your default real being defined as here? It looks like it is a default 32bit (kind=4) but I can't tell for sure. |
Yes, that's what it looks like. I'll try again manually with only one make job to get better output, but it looks like the r4 version of coupler_types.F90 compiles ok, but the r8 does not. And the compile command cited above does not promote reals to r8 (it does have |
With the latest FMS, we went to mixed-precision support throughout FMS which means you only have to compile up one version of the library and it should support your mixed-precision needs. The one place that wasn't touched was the deprecated mpp/fms I/O. Because you chose to use default real(kind=r4), you'll need to still include the -DOVERLAD_R8 for the older I/O to work properly. If you compile with -r8 by default, the logic I was looking at suggests there is no real(kind=4) support within the deprecated I/O and that case may cause issues. I'll have to see if anyone in the team tested that combination. |
Hmm, very strange. We use exactly the same code and options to install fms 2023.03 across platforms, the only one that failed so far is Derecho. |
You're right, that is strange as I'd expect it to behave the same across all platforms. I'd suggest double checking the other versions to see what exact compiler options (not CMake option sets) were used during the build. If you've used gnu 12.2 elsewhere, then the only thing I can think of is an issue with the v12.2 install on Derecho. |
Sure enough, we compiled it successfully on Hercules with the same version of gnu. But the compile command for the particular file is different. On Derecho (see above):
On Hercules:
Somehow, |
Looks like you are on track to figuring this one out. Should we close out the issue? |
I'd prefer to wait until I've figured it out, but it's up to you. Thanks for your help by the way! |
Do you need to use the deprecated IO? |
Yes, unfortunately we'll need this for a while for UFS and also for JEDI |
@bensonr @thomas-robinson I am glad we kept this issue open. I found the culprit, it's in FMS' very own top-level Lines 348 to 354 in 527a42f
Setting this flags overwrites the previous compile flags that contain |
@climbfuji - thanks for tracking this down. Since not every build system adds this option by default, could you make the change to append the argument, as was intended, and submit a PR? |
@climbfuji - appreciate the quick turnaround. We'll test the updates on a few systems we have here to ensure things work as expected. |
Is your question related to a problem? Please describe.
I am having trouble building tag 2023.03 on the new NCAR Supercomputer Derecho with gnu 12.2.0. The config options are:
(I believe we don't have to worry about the
9.1
in the cray-mpich compiler wrapper path). The error is:and the corresponding compile command is
I looked for open and closed issues about this error, but couldn't find anything. Before I spend a lot of time debugging this, is this something you've encountered and/or do you have pointers to fix that?
Describe what you have tried
See above
The text was updated successfully, but these errors were encountered: