Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

CLM5.0 runtime error - Can't locate bigint.pm in @INC

luojx

luojx
New Member
I'm currently porting the CLM5.0 component (from CESM 2.0.04) to a new machine. While testing a single-point case encountered an error when running ./preview_namelists:
Setting resource.RLIMIT_CORE to -1 from (0, -1)
Setting resource.RLIMIT_DATA to -1 from (-1, -1)
Setting resource.RLIMIT_STACK to -1 from (8388608, -1)
Creating component namelists
Calling /data2_249/luojx_data2/moshi/clm5.0/cime/src/components/data_comps/datm/cime_config/buildnml
Calling /data2_249/luojx_data2/moshi/clm5.0/cime_config/buildnml
ERROR: Command /data2_249/luojx_data2/moshi/clm5.0/bld/build-namelist failed rc=2
out=
err=Can't locate bigint.pm in @INC (you may need to install the bigint module) (@INC contains: /data2_249/luojx_data2/moshi/clm5.0/bld /data2_249/luojx_data2/moshi/clm5.0/bld /data2_249/luojx_data2/moshi/clm5.0/cime/scripts/Tools/../../utils/perl5lib /data2_249/luojx_data2/moshi/clm5.0/bld /home/luojx/luojx_data2/software_199/install/perl5/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /data2_249/luojx_data2/moshi/clm5.0/bld/config_files/clm_phys_vers.pm line 30.
BEGIN failed--compilation aborted at /data2_249/luojx_data2/moshi/clm5.0/bld/config_files/clm_phys_vers.pm line 30.
Compilation failed in require at /data2_249/luojx_data2/moshi/clm5.0/bld/CLMBuildNamelist.pm line 374.

To address this, I installed the bigint module and added it to my ~/.bashrc configuration. The module appears to be properly installed, as confirmed by the test command:
$ perl -MMath::BigInt -e 'print "Module loaded\n"'
Module loaded
However, the issue persists despite this installation. I would greatly appreciate any suggestions or insights into resolving this problem.

The porting information in config_machines.xml:

<machine MACH="han">
<DESC>
Example port to centos7 linux system with gcc, netcdf, pnetcdf and mpich
using modules from Environment Modules – A Great Tool for Clusters » ADMIN Magazine
</DESC>
<NODENAME_REGEX>regex.expression.matching.your.machine</NODENAME_REGEX>
<OS>LINUX</OS>
<PROXY> https://howto.get.out </PROXY>
<COMPILERS>gnu</COMPILERS>
<MPILIBS>mpich</MPILIBS>
<PROJECT>none</PROJECT>
<SAVE_TIMING_DIR>/home/luojx/luojx_data2/moshi/clm5.0/timing</SAVE_TIMING_DIR>
<CIME_OUTPUT_ROOT>/home/luojx/luojx_data2/moshi/clm5.0/output</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/data249/0PublicData/CLM5_landdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/data249/0PublicData/CLM5_landdata/atm/datm7</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/home/luojx/luojx_data2/moshi/clm5.0/output/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/home/luojx/luojx_data2/moshi/clm5.0/output/cesm_baselines</BASELINE_ROOT>
<CCSM_CPRNC>/home/luojx/luojx_data2/moshi/clm5.0/cime/cesm/tools/cprnc/build/cprnc</CCSM_CPRNC>
<GMAKE>make</GMAKE>
<GMAKE_J>2</GMAKE_J>
<BATCH_SYSTEM>none</BATCH_SYSTEM>
<SUPPORTED_BY>me@my.address</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>20</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>20</MAX_MPITASKS_PER_NODE>
<PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED>
<mpirun mpilib="default">
<executable>mpirun</executable>
<arguments>
<arg name="ntasks"> -np $TOTALPES </arg>
</arguments>
</mpirun>
<module_system type="none">
</module_system>
<environment_variables>
<env name="COMPILER">gnu</env>
<env name="OMP_STACKSIZE">256M</env>
<env name="NETCDF_PATH">/scratch/PublicSoftware/netcdf-gfortran/</env>
<env name="HDF5_PATH">/scratch/PublicSoftware/netcdf-gfortran/</env>
<env name="ESMF_PATH">/home/luojx/luojx_data2/software_199/install/ESMF/</env>
</environment_variables>
<resource_limits>
<resource name="RLIMIT_CORE">-1</resource>
<resource name="RLIMIT_DATA">-1</resource>
<resource name="RLIMIT_STACK">-1</resource>
</resource_limits>
</machine>

The porting information in config_compilers.xml:
<compiler COMPILER="gnu" MACH="han">
<CFLAGS>
<base> -std=gnu99 </base>
<append compile_threaded="true"> -fopenmp </append>
<append DEBUG="TRUE"> -g -Wall -Og -fbacktrace -ffpe-trap=invalid,zero,overflow -fcheck=bounds </append>
<append DEBUG="FALSE"> -O </append>
</CFLAGS>
<CPPDEFS>
<!-- Top (The GNU Fortran Compiler) -->
<append> -DFORTRANUNDERSCORE -DNO_R16 -DCPRGNU</append>
</CPPDEFS>
<CXX_LINKER>FORTRAN</CXX_LINKER>
<FC_AUTO_R8>
<base> -fdefault-real-8 </base>
</FC_AUTO_R8>
<FFLAGS>
<!-- -ffree-line-length-none and -ffixed-line-length-none need to be in FFLAGS rather than in FIXEDFLAGS/FREEFLAGS
so that these are passed to cmake builds (cmake builds don't use FIXEDFLAGS and FREEFLAGS). -->
<base> -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none </base>
<append compile_threaded="true"> -fopenmp </append>
<!-- Ideally, we would also have 'invalid' in the ffpe-trap list. But at
least with some versions of gfortran (confirmed with 5.4.0, 6.3.0 and
7.1.0), gfortran's isnan (which is called in cime via the
CPRGNU-specific shr_infnan_isnan) causes a floating point exception
when called on a signaling NaN. -->
<append DEBUG="TRUE"> -g -Wall -Og -fbacktrace -ffpe-trap=zero,overflow -fcheck=bounds </append>
<append DEBUG="FALSE"> -O </append>
</FFLAGS>
<FFLAGS_NOOPT>
<base> -O0 </base>
</FFLAGS_NOOPT>
<FIXEDFLAGS>
<base> -ffixed-form </base>
</FIXEDFLAGS>
<FREEFLAGS>
<base> -ffree-form </base>
</FREEFLAGS>
<HAS_F2008_CONTIGUOUS>FALSE</HAS_F2008_CONTIGUOUS>
<LDFLAGS>
<append compile_threaded="true"> -fopenmp </append>
</LDFLAGS>
<MPICC> mpicc </MPICC>
<MPICXX> mpicxx </MPICXX>
<MPIFC> mpif90 </MPIFC>
<SCC> gcc </SCC>
<SCXX> g++ </SCXX>
<SFC> gfortran </SFC>
<SUPPORTS_CXX>TRUE</SUPPORTS_CXX>
<ESMF_LIBDIR>/home/luojx/luojx_data2/software_199/install/ESMF/lib/libO/Linux.gfortran.64.mpiuni.default</ESMF_LIBDIR>
<MPI_PATH>/scratch/PublicSoftware/mpich-gfortran</MPI_PATH>
<SLIBS>
<append>-L/scratch/PublicSoftware/netcdf-gfortran/lib -lnetcdf -lnetcdff </append>
<append>-L/scratch/PublicSoftware/netcdf-gfortran/lib -lhdf5 -lhdf5_hl </append>
<append>-L/data2_249/luojx_data2/software_199/install/lapack/lib -llapack -lblas </append>
</SLIBS>
</compiler>
 
Top