I am trying to compile ISSM on the Supercomputing Wales research cluster but I am running into issues with libISSMCore and issm.exe.
I have installed triangle, chaco, m1qn3 and PETSc from externalpackages. With PETSc I had to compile 3.17.4 using the system mpi libraries to get anything to work. To keep the compilation consistent between PETSc and ISSM my ISSM configure.sh script looks like this:
./configure \
--prefix=$ISSM_DIR \
--with-wrappers=no \
--with-kriging=no \
--with-kml=no \
--with-bamg=no \
--without-Love \
--with-metis-dir="$ISSM_DIR/externalpackages/petsc/install" \
--with-petsc-dir="$ISSM_DIR/externalpackages/petsc/install" \
--with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \
--with-mpi-include="$MPI_HOME/include" \
--with-mpi-libflags="-L$MPI_HOME/lib -lmpi -lm -lmpicxx" \
--with-mkl-libflags="-L$MKL_HOME/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm" \
--with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
--with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/
and I have also used export to set the paths to the mpi compilers for CC, CXX, FC, F77 and F90.
After running make; make install
the end of the output looks like this:
` CXXLD libISSMCore.la
*** Warning: Linking the shared library libISSMCore.la against the
*** static library /home/a.ajh24/issm/externalpackages/m1qn3/install/libm1qn3.a is not portable!
*** Warning: Linking the shared library libISSMCore.la against the
*** static library /home/a.ajh24/issm/externalpackages/m1qn3/install/libddot.a is not portable!
CXX shared/String/ApiPrintf.lo
CXXLD libISSMOverload.la
CXX main/issm-issm.o
CXXLD issm.exe
./.libs/libISSMCore.so: undefined reference to for_write_seq_fmt_xmit'
./.libs/libISSMCore.so: undefined reference to
for_cpstr'
./.libs/libISSMCore.so: undefined reference to for_stop_core'
./.libs/libISSMCore.so: undefined reference to
intel_fast_memcpy'
./.libs/libISSMCore.so: undefined reference to for_write_seq_fmt'
collect2: error: ld returned 1 exit status
make[3]: *** [issm.exe] Error 1
make[3]: Leaving directory
/lustrehome/home/a.ajh24/issm/src/c'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory /lustrehome/home/a.ajh24/issm/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
/lustrehome/home/a.ajh24/issm'
make: *** [all] Error 2
Making install in src
make[1]: Entering directory /lustrehome/home/a.ajh24/issm/src'
Making install in c
make[2]: Entering directory
/lustrehome/home/a.ajh24/issm/src/c'
CXXLD issm.exe
./.libs/libISSMCore.so: undefined reference to for_write_seq_fmt_xmit'
./.libs/libISSMCore.so: undefined reference to
for_cpstr'
./.libs/libISSMCore.so: undefined reference to for_stop_core'
./.libs/libISSMCore.so: undefined reference to
intel_fast_memcpy'
./.libs/libISSMCore.so: undefined reference to for_write_seq_fmt'
collect2: error: ld returned 1 exit status
make[2]: *** [issm.exe] Error 1
make[2]: Leaving directory
/lustrehome/home/a.ajh24/issm/src/c'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory /lustrehome/home/a.ajh24/issm/src'
make: *** [install-recursive] Error 1
Do you have any suggestions? It is not an error I have encountered before...
Thank you!