I am experiencing some compile problems with Armake.inc when converting to an ifort compiler (my server does not have the pgf90 compiler).
At first I have simply # the FFLAGS since I do not know the conversion to an intel compiler thus;
FC = pgf90
#FFLAGS = -g
FFLAGS = -u -Bstatic -fastsse -Mipa=fast
becomes
FC=ifort
#FFLAGS = -g
#FFLAGS = -u -Bstatic -fastsse -Mipa=fast
Now when I execute make lib the library; libarpack_moby.a complies fine, however make plib won't compile and seems to have errors I can't wrap my head around.
The error message is as follows;
( cd ; make single double complex complex16 )
cpp: Compilers/make_macros.h: No such file or directory
cpp: warning: '-x c' after last input file has no effect
cpp: no input files
/bin/sh: ROMS/Bin/cpp_clean: No such file or directory
make[1]: Entering directory `/export71/home/lp2314'
makefile:235: INCLUDING FILE /home/lp2314/make_macros.mk WHICH CONTAINS APPLICATION-DEPENDENT MAKE DEFINITIONS
makefile:335: /export71/home/lp2314/Compilers/Linux-pgi.mk: No such file or directory
cp -f /apps/netcdf/3.6.2/include/netcdf.mod Build
cp -f /apps/netcdf/3.6.2/include/typesizes.mod Build
./ROMS/Bin/sfmakedepend -DROMS_HEADER="shoreface.h" -I ROMS/Include --silent --moddir Build > Build/MakeDepend
/bin/sh: Build/MakeDepend: Not a directory
make[1]: *** No rule to make target `/export71/home/lp2314/Compilers/Linux-pgi.mk'. Stop.
make[1]: Leaving directory `/export71/home/lp2314'
make: *** [parpacklib] Error 2
I cannot compile the WC13 I4DVAR tutorial model without performing this essential step as the compile error their quotes that;
ld: cannot find -lparpack
ld: cannot find -larpack
which I belive are only created upon compiling ARPACK/PARPACK
Any help would be greatly appreciated since I've more or less hit a brick wall.
*edit; just tried to compile WC13 with new some updated settings just to see if it finds the -larpack since I have libarpack_moby.a present in the directory;
export ARPACK_LIBDIR=${MY_ROMS_SRC}/Lib/ARPACK
if [ -n "${USE_MPI:+1}" ]; then
# export PARPACK_LIBDIR=/opt/intelsoft/mpich/PARPACK
export PARPACK_LIBDIR=${MY_ROMS_SRC}/Lib/ARPACK/PARPACK
however I still have the error;
ld: cannot find -lparpack
ld: cannot find -larpack
I guess I simply must not be compiling ARmake.inc properly, maybe to do with my conversion to ifort?
ARPACK/PARPACK compile error WC13 I4DVAR
Re: ARPACK/PARPACK compile error WC13 I4DVAR
What version of ROMS has an Armake.inc? The myroms.org trunk code supports ifort natively.
Do you have a Compilers/make_macros.h file? Are you trying "make" or a build script? From where?
Do you have a ROMS/Bin/cpp_clean or are you missing the /usr/bin/env listed in its first line?
Do you have a Compilers/make_macros.h file? Are you trying "make" or a build script? From where?
Do you have a ROMS/Bin/cpp_clean or are you missing the /usr/bin/env listed in its first line?
Re: ARPACK/PARPACK compile error WC13 I4DVAR
Ok, I have successfully compiled both libarpack.a and libparpack.a.
My mistake was a simple lack of reading the README file thoroughly enough, as a co-worker pointed out the use of the other ARmake sample scripts.
Using the ARmake.MPI-Lunix I was then able to compile the libraries through changing the compiler to ifort as before.
However when compiling the actual model I am finding the same error;
lf -L/opt/intelsoft/PARPACK -lparpack -L/opt/intelsoft/PARPACK -larpack
ld: cannot find -lparpack
ld: cannot find -larpack
I have changed the following ARPACK_LIBDIR to the correct paths;
export ESMF_DIR=/opt/intelsoft/esmf-3.1.0
export ESMF_OS=Linux
export ESMF_COMPILER=ifort
export ESMF_BOPT=O
export ESMF_ABI=64
export ESMF_COMM=mpich
export ESMF_SITE=default
export MCT_INCDIR=/apps/MCT/include
export MCT_LIBDIR=/apps/MCT/lib
export ARPACK_LIBDIR=${MY_ROMS_SRC}/Lib/ARPACK
if [ -n "${USE_MPI:+1}" ]; then
# export PARPACK_LIBDIR=/opt/intelsoft/mpich/PARPACK
export PARPACK_LIBDIR=${MY_ROMS_SRC}/Lib/ARPACK/PARPACK
So now I am unsure why it is searching /opt/intelsoft/PARPACK so the library when I have corrected it?
My mistake was a simple lack of reading the README file thoroughly enough, as a co-worker pointed out the use of the other ARmake sample scripts.
Using the ARmake.MPI-Lunix I was then able to compile the libraries through changing the compiler to ifort as before.
However when compiling the actual model I am finding the same error;
lf -L/opt/intelsoft/PARPACK -lparpack -L/opt/intelsoft/PARPACK -larpack
ld: cannot find -lparpack
ld: cannot find -larpack
I have changed the following ARPACK_LIBDIR to the correct paths;
export ESMF_DIR=/opt/intelsoft/esmf-3.1.0
export ESMF_OS=Linux
export ESMF_COMPILER=ifort
export ESMF_BOPT=O
export ESMF_ABI=64
export ESMF_COMM=mpich
export ESMF_SITE=default
export MCT_INCDIR=/apps/MCT/include
export MCT_LIBDIR=/apps/MCT/lib
export ARPACK_LIBDIR=${MY_ROMS_SRC}/Lib/ARPACK
if [ -n "${USE_MPI:+1}" ]; then
# export PARPACK_LIBDIR=/opt/intelsoft/mpich/PARPACK
export PARPACK_LIBDIR=${MY_ROMS_SRC}/Lib/ARPACK/PARPACK
So now I am unsure why it is searching /opt/intelsoft/PARPACK so the library when I have corrected it?
Re: ARPACK/PARPACK compile error WC13 I4DVAR
There are two places this could be set, one in the Compilers/Linux-ifort.mk file, one in the build script. Which did you change? If set in the build script, it will override the other.
Re: ARPACK/PARPACK compile error WC13 I4DVAR
Originally I had only changed the library paths within the build script, however I have how changed it in both.
This has now resolved the issue and the WC13 model is now compiling!
Thank you for the swift reply and suggestions.
This has now resolved the issue and the WC13 model is now compiling!
Thank you for the swift reply and suggestions.