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

CICE compile error ..stuck with gcc and icc

wangxiong

New Member
Hey guys. I was trying to compile the CICE on server and encounted with some problems.
The server has both gcc and icc installed and I choose to use the intel compiler. I specify the route of mpif90 and mpicc in the Makefile Macros.
捕获3.PNG
But when I try to compile the model. I got the wrong message as follows. 捕获1.PNG
Somehow the model tries to use gfortran to copile the code instead of intel compiler. And I typed two command in the command window. (which mpif90 and mpif90 --version)
I put the screenshot below. And I feel much more confused. Why the machine can find mpif90 under intel64 directory but returns the GNU related message using mpif90 --version command. Is it possible that I can use "export XXX = ifort" to tell the machine I want to use intel compiler or any other way to solve this problem?
Tkanks. Any suggestion may be helpful.
捕获2.PNG
 

Philippe Blain

New Member
Hi wangxiong, my guess is you are missing some environment configuration in the file env.<machine>_<compiler>. The Intel compiler will need to be "activated" before it can be used, through a module load command or similar, or by sourcing a script provided by Intel with the installation. Your local IT people (who manage this server) might know more about the required syntax in your case.

Once the compilation environment is correctly specified in the env file, you should not have to use paths, but only the command names in the the Macros file (mpif90, mpicc). Note also that LD is the linker and should be set to the same thing as the Fortran compiler, so LD = $(FC) should be left as is.
 
Top