ARPACK/PARPACK compile error WC13 I4DVAR

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
lmp4
Posts: 38
Joined: Tue Aug 12, 2014 8:32 pm
Location: Imperial College London

ARPACK/PARPACK compile error WC13 I4DVAR

#1 Unread post by lmp4 »

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?

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ARPACK/PARPACK compile error WC13 I4DVAR

#2 Unread post by kate »

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?

lmp4
Posts: 38
Joined: Tue Aug 12, 2014 8:32 pm
Location: Imperial College London

Re: ARPACK/PARPACK compile error WC13 I4DVAR

#3 Unread post by lmp4 »

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?

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ARPACK/PARPACK compile error WC13 I4DVAR

#4 Unread post by kate »

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.

lmp4
Posts: 38
Joined: Tue Aug 12, 2014 8:32 pm
Location: Imperial College London

Re: ARPACK/PARPACK compile error WC13 I4DVAR

#5 Unread post by lmp4 »

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.

Post Reply