CESM1.2.2 build error: relocation truncated to fit (rrtmg_lw_k_g.o / libatm.a)

Athomas

Antony Thomas
New Member
Hi all,
I was trying to run CESM1.2.2 on our local cluster ("skylark") with Intel oneAPI (ifort/mpiifort 2022.3,impi), NetCDF-C 4.9.2, NetCDF-Fortran 4.6.0 and PnetCDF 1.12.3.
I tried a fresh case (slab ocean). The build compiles but fails at final link with numerous these errors:

"rrtmg_lw_k_g.f90:(.text+0x3c4b1): relocation truncated to fit: R_X86_64_32 against symbol `rrlw_kg03_mp_kao_' defined in LARGE_COMMON section in scripts/slab_run/bld/lib//libatm.a(rrlw_kg03.o)"

I tried using -mcmodel=large (also medium), -fPIC and -no-ipo in the Macros file within the case directory; the error persists. What flags or file-specific settings are recommended to avoid these?

I understand CESM1.2 is no longer supported by NCAR, but any help on resolving this would be greatly appreciated.
 

jedwards

CSEG and Liaisons
Staff member
In cesm 1.2.2 part of the decomposition is static, that is set at build time for the number of tasks specified. You might see this error if you
are not specifying enough tasks. You should not need to change the mcmodel flag. You may need to update pio to a newer version since there
was a change in netcdf-4.9 that makes the default pio in 1.2.2 too old. However given where you are getting the error, I don't think that it's a pio issue.
 
Vote Upvote 0 Downvote
Back
Top