Hello all,
I am trying to compile ISSM on a linux x86_64 cluster. The following modules are loaded:
1) gcc/11.4.0 2) openmpi/4.1.6 3) cuda/11.8.0 4) cue-login-env/1.0 5) slurm-env/0.1 6) default-s11 7) gcc-runtime/8.5.0 8) cmake/3.27.9
I used the repository at this link:
git clone https://github.com/ISSMteam/ISSM.git
I am at the point where I configure, make, then make install. When I run make, at the end I get the following errors:
/usr/bin/ld: ./.libs/libISSMCore.so: undefined reference to symbol '_gfortran_transfer_real_write@@GFORTRAN_8'
//sw/spack/deltas11-2023-03/apps/linux-rhel8-x86_64/gcc-8.5.0/gcc-11.4.0-yycklku/lib64/libgfortran.so.5: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:5075: issm.exe] Error 1
make[3]: Leaving directory '/u/kmosley/issm-files/trunk/src/c'
make[2]: *** [Makefile:470: all-recursive] Error 1
make[2]: Leaving directory '/u/kmosley/issm-files/trunk/src'
make[1]: *** [Makefile:525: all-recursive] Error 1
make[1]: Leaving directory '/u/kmosley/issm-files/trunk'
make: *** [Makefile:457: all] Error 2
As suggested by the website, I found the path to libgfortran.a:
[kmosley@dt-login02 trunk]$ mpif77 -print-file-name="libgfortran.a"
Output: /sw/spack/deltas11-2023-03/apps/linux-rhel8-x86_64/gcc-8.5.0/gcc-11.4.0-yycklku/lib64/../lib64/libgfortran.a
Then added it to my configure.sh as shown:
./configure \
--prefix="${ISSM_DIR}" \
--with-numthreads=2 \
--with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \
--with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
--with-metis-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-blas-lapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-petsc-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \
--with-fortran-lib="/sw/spack/deltas11-2023-03/apps/linux-rhel8-x86_64/gcc-8.5.0/gcc-11.4.0-yycklku/lib64/../lib64/ -lgfortran" \
When I do this, I rerun configure, but then get the following errors:
/sw/spack/deltas11-2023-03/apps/linux-rhel8-x86_64/gcc-8.5.0/gcc-11.4.0-yycklku/lib64/../lib64/: file not recognized: Is a directory
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:5075: issm.exe] Error 1
make[3]: Leaving directory '/u/kmosley/issm-files/trunk/src/c'
make[2]: *** [Makefile:470: all-recursive] Error 1
make[2]: Leaving directory '/u/kmosley/issm-files/trunk/src'
make[1]: *** [Makefile:525: all-recursive] Error 1
make[1]: Leaving directory '/u/kmosley/issm-files/trunk'
make: *** [Makefile:457: all] Error 2
Seeing that I got the "all recursive" errors, I tried these commands that were suggested for a problem involving those:
$ cd $ISSM_DIR
$ make distclean
$ cd $ISSM_DIR
$ ./scripts/automakererun.sh
I ran configure and make again and got the same "Is a directory" error as above.
Would anyone have any insight?
Thanks.