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

Building 1.0.6 on a generic linux intel

Hello, I'm trying to port CESM 1.0.6 to a generic linux machine (this one is an i7 running ubuntu 14) using the intel compilers. I built netcdf with OpenMPI set to use the intel compilers, but haven't been able yet to manually build OpenMPI so i'm using the one in the repos (likely built with the GNU suite). This resulted in errors while building the PIO libraries (below). In this thread (https://bb.cgd.ucar.edu/problem-running-cesm106) it was mentioned that i could add -DNO_MPIMOD to CPPFLAGS in the Macros file to avoid using F90 MPI (which i won't need anyway). So, that led to the following questions:   -- The flag should be added in the first lines of the Macros.$MACH file? I've tried adding it in various ways (such as changing the first line to CPPDEFS := $(USER_CPPDEFS) -DNO_MPIMOD) and the build log still doesn't show the flag being used (e.g. mpif90 -c -I/home/gabriel/openmpi/include  -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/home/gabriel/openmpi/include -I/home/gabriel/dumnetcdf/build/include iompi_mod.F90)  -- Is it mandatory to have netcdf4 (i.e. HDF5) support on the netcdf library? And if it isn't, is there some different kind of setting to use?Thanks in advance,Gabriel The error (complete log attached):mpif90 -c -I/home/gabriel/openmpi/include  -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/home/gabriel/openmpi/include -I/home/gabriel/dumnetcdf/build/include iompi_mod.F90
iompi_mod.F90.in:272.132:

osystem%io_rank,' before set_view iodesc%Read%fileTYPE: ',iodesc%Read%FileT
                                                                           1
Error: 'filet' at (1) is not a member of the 'io_desc2_t' structure
iompi_mod.F90.in:338.132:

osystem%io_rank,' before set_view iodesc%Read%fileTYPE: ',iodesc%Read%FileT
                                                                           1
Error: 'filet' at (1) is not a member of the 'io_desc2_t' structure
iompi_mod.F90.in:404.132:

osystem%io_rank,' before set_view iodesc%Read%fileTYPE: ',iodesc%Read%FileT
                                                                           1
Error: 'filet' at (1) is not a member of the 'io_desc2_t' structure
iompi_mod.F90.in:470.132:

osystem%io_rank,' before set_view iodesc%Read%fileTYPE: ',iodesc%Read%FileT
                                                                           1
Error: 'filet' at (1) is not a member of the 'io_desc2_t' structure
gmake[1]: *** [iompi_mod.o] Error 1
gmake[1]: Leaving directory `/home/gabriel/nobackup/gabriel/test4/pio'
gmake: *** [all] Error 2

 

jedwards

CSEG and Liaisons
Staff member
In the Macros file you should have a variable CONFIG_ARGS, make sure that that CONFIG_ARGS includes FFLAGS and thatFFLAGS includes CPPDEFSThat is you should have something like:CPPDEFS += -DNO_MPIMODFFLAGS += $(CPPDEFS)CONFIG_ARGS = "FFLAGS=$(FFLAGS)"  
 
Thanks for the tip. The problem is, when i did that, it addeed -DNO_MPIMOD to all compiler calls, and the first mpicc ones don't recognize and fail at the configure step. I tried adding it only to the PIO specific CONFIG_ARGS macro, but a similar error occurs: ignore pio file alloc_mod.F90
ignore pio file box_rearrange.F90
ignore pio file iompi_mod.F90
cp: omitting directory ‘m4’
ignore pio file piodarray.F90
ignore pio file pio_msg_getput_callbacks.F90
ignore pio file pionfatt_mod.F90
ignore pio file pionfget_mod.F90
ignore pio file pionfput_mod.F90
ignore pio file pionfread_mod.F90
ignore pio file pionfwrite_mod.F90
ignore pio file pio_spmd_utils.F90
ignore pio file pio_support.F90
ignore pio file rearrange.F90
New build of PIO
Running configure...
for OS=Linux MACH=generic_linux_intel
cat: Filepath: No such file or directory
cat: Srcfiles: No such file or directory
/home/gabriel/cesm/cesm1_0_6/scripts/test5/Tools/mkSrcfiles > /home/gabriel/nobackup/gabriel/test5/pio/Srcfiles
cp -f /home/gabriel/nobackup/gabriel/test5/pio/Filepath /home/gabriel/nobackup/gabriel/test5/pio/Deppath
/home/gabriel/cesm/cesm1_0_6/scripts/test5/Tools/mkDepends Deppath Srcfiles > /home/gabriel/nobackup/gabriel/test5/pio/Depends
./configure   --disable-mct --disable-timing  CC="mpicc" F90="mpif90" NETCDF_PATH="/home/gabriel/dumnetcdf/build" MPI_INC="-I/home/gabriel/openmpi/include" -DNO_MPIMOD
configure: error: unrecognized option: -DNO_MPIMOD
Try `./configure --help' for more information.
gmake: *** [configure] Error 1
cp: cannot stat ‘Makefile.conf’: No such file or directory
Makefile:25: Makefile.conf: No such file or directory
gmake: *** No rule to make target `Makefile.conf'.  Stop.

 Any clues? Again, thanks for the help.
 
Top