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

mct build failed

Hi,

When I tried to build my cesm, some mistakes appeared in my mct.bldlog file and the building process failed.

The error imformations,

mpif90 -c -I/disk1/soft/intel/impi/3.1/include64 -DSYSLINUX -DCPRUNKNOWNCPR m_List.F90
m_List.F90: In function 'exporttostring_':m_List.F90:925: error: conversion to non-scalar type requested
make[1]: *** [m_List.o] Error 1make[1]: Leaving directory `/disk4/una/output/testt/mct/mpeu'
make: *** [subdirs] Error 2


It seemed the m_List.F90 file not linked.

Who can tell me where I should change. Thank you for advance!
 

eaton

CSEG and Liaisons
I'm guessing based on your previous thread that your mpif90 is trying to use gfortran as the Fortran compiler. We haven't yet ported CESM to gfortran, so I expect you'll run into difficulties with this approach.

You got further with mpiifort, but the pio build failed. The output from the pio build is indicating a problem in PIO's configure step since it appears to be using mpif90 even after you set FC=mpiifort.

One way to help figure out whether the problem is in your compilers/mpi installation or in our scripts would be to try building standalone cam using mpiifort. The standalone cam build does not try to build mct and pio as separate libraries, but rather builds all the code using its own Makefile.
 
I have tried to build standalone cam5, creating a new case with a 'F' compset.

It still have to build mct and pio libraries like cesm. The same mistakes appeared.

gfortran: big_endian: No such file or directory
gfortran: byterecl: No such file or directory
gfortran: unrecognized option '-r8'
gfortran: unrecognized option '-convert'
cc1: error: unrecognized command line option "-ftz"
gmake[1]: *** [pio_kinds.o] Error 1
gmake[1]: Leaving directory `/disk4/una/output/test/pio'
gmake: *** [all] Error 2


What is the problem about my operations.
 

bdavis@usgs_gov

New Member
I am getting the same error:/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90:925: error: conversion to non-scalar type requested The only reference I have to gfortran is in the Macros file definition of SFC.  If I change SFC to mpif90, then configure does not complete, saying it figure out how to link fortran libs to an example main.
Any ideas?
 

jedwards

CSEG and Liaisons
Staff member
I think that the issue is that you are using a relatively old F90 compiler version.   Please report the compiler vendor and version and consider updating to a newer one if possible.  
 

bdavis@usgs_gov

New Member
/usr/lib64/openmpi/1.4-gcc/bin/mpif90  --version:GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
Copyright (C) 2007 Free Software Foundation, Inc.

 I don't really have control over the version of the compiler (and the openmpi version) installed.  It is a multi-user system.  
 

jedwards

CSEG and Liaisons
Staff member
You need to ask your system administrators to update or seek a different machine or compiler.   Support for gfortran in CESM is an ongoing project. 
 

bdavis@usgs_gov

New Member
from the intel website:  "Non-commercial software development means you are not paid and/or  compensated in any form, by anyone, for software development using the  Intel® Software Development Products under the terms of the  non-commercial license."Are there any options besides ifort??
 

jedwards

CSEG and Liaisons
Staff member
I really don't understand the purpose of quoting the intel web site.   What compilers do you have on your system (vendor and version) ?   Have you spoken to your system administrators about getting newer versions installed?
 

bdavis@usgs_gov

New Member
/usr/lib64/openmpi/1.4-gcc/bin/mpif90 --versionGNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)However, it links in by default libgfortran, which I have been counseled to avoid.  gfortran --versionGNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)  My system administrator is not excited about updating versions of compilers, because multiple developers use the system, and it could affect many libraries and software developed by others.
 

jedwards

CSEG and Liaisons
Staff member
If an old version of gfortran is your only choice of fortran compilers I'm not sure how we can help you.
 

bdavis@usgs_gov

New Member
intel fotran development environment has been installed.  Now using ifort for fortran compiler.  Here is what it produces: ifort: command line warning #10006: ignoring unknown option '-fconvert=big-endian'ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'ifort: command line warning #10006: ignoring unknown option '-ffixed-line-length-none'ifort: command line warning #10006: ignoring unknown option '-ffree-form'/tmp/ifortFBqtJX.i90: catastrophic error: Internal Compiler Error: Bad syntax, '=' expected while processing '@gnu/linux'compilation aborted for /data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90 (code 1) I cannot find any reference to gnu/linux I have defined in any of the setup files. 
 

jedwards

CSEG and Liaisons
Staff member
I think that you are trying to build the same case that you were using before and it still is set for using the gnu compiler.  Start from a new case, you should have better luck.
 

bdavis@usgs_gov

New Member
oh, I'm already failing on test3. mpif90 -c  -I. -I../ -DLinux -DMCT_INTERFACE -DHAVE_MPI -DLinux -DCPR/OPT/INTEL/BIN/IFORT -DSYSLINUX -DCPRINTEL -O2    -I.-I/dev/shm/bdavis/cesm/pio -IUSERDEFINED_MUST_EDIT_THIS/include -I/dev/shm/bdavis/cesm/mct/mct -I/dev/shm/bdavis/cesm/mct/mpeu -I/dev/shm/bdavis/cesm/pio -I/dev/shm/bdavis/cesm/gptl -I/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/pio -I/dev/shm/bdavis/cesm/lib/include   /data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90: In function ‘exporttostring_’:/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90:925: error: conversion to non-scalar type requestedgmake[1]: *** [m_List.o] Error 1 
 

jedwards

CSEG and Liaisons
Staff member
Please start from scratch and follow the users guide on how to install on a new system. ifort should be in your path so that -DCPR/OPT/INTEL/BIN/IFORT is -DCPRINTEL   -IUSERDEFINED_MUST_EDIT_THIS/include    I believe that the path to your installed netcdf library, built with the intel compiler is missing.Has mpi been rebuilt with the new intel compilers?    Can you compile and run a simple program such as the hello world provided in the users manual using your intel compilers?
 

bdavis@usgs_gov

New Member
I did start from scratch, and followed the guide.  However, when running cesm_setup after modifying env_build.xml, env_mach_pes.xml and env_run.xml, a file named test4.userdefined_build does NOT get created.  I have to run test4.build, after modifying Macros and env_mach_specific I now get:mpif90 -c  -I. -I../ -DLinux -DMCT_INTERFACE -DHAVE_MPI -DLinux -DCPR/OPT/INTEL/BIN/IFORT -DSYSLINUX -DCPRINTEL -O2    -I.  -I/dev/shm/bdavis/cesm/pio -I/usr/local/include -I/usr/lib/openmpi/1.4-gcc/include -I/dev/shm/bdavis/cesm/mct/mct -I/dev/shm/bdavis/cesm/mct/mpeu -I/dev/shm/bdavis/cesm/pio -I/dev/shm/bdavis/cesm/gptl -I/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/pio -I/dev/shm/bdavis/cesm/lib/include   /data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90: In function ‘exporttostring_’:/data/bdavis/software/projects/CESM_1.2.1/cesm1_2_1/models/utils/mct/mpeu/m_List.F90:925: error: conversion to non-scalar type requestedmake: *** [m_List.o] Error 1 no, mpi has not been rebuilt with the intel compilers. no, I cannot compile hello world.
 

jedwards

CSEG and Liaisons
Staff member
> no, I cannot compile hello world. You need to work with your local support staff to figure this out, if you can't get hello world working there is no point at all in trying to build cesm.
 
Top