Hi, I have set up a personal computing environment on an online server in which I have no root control, and within it set up gcc 8.4, openmpi, OpenBlas, and Scalapack.
Using this environment to compile in parallel, I get up to this mpif90 command:
mpif90 -O3 -I… -I/home/cs502/local/include -DFLUSH -DNOFOX -DMPI -c …/blas.F90
After that there is another mpif90 command that links a whole series of object files (I’ve added this extra information as I’m unsure if it’s relevant). Then after this command it all appears to go wrong and prints this to the screen:
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libgfortran.so when searching for -lgfortran
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libgfortran.a when searching for -lgfortran
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libquadmath.so when searching for -lquadmath
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libquadmath.a when searching for -lquadmath
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /home/cs502/local/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
Followed by a whole series of undefined reference errors such as:
m_simplex.o: In function __m_simplex_MOD_start':* *m_simplex.F90:(.text+0x185): undefined reference to
dcopy_’
m_simplex.o: In function __m_simplex_MOD_setstp':* *m_simplex.F90:(.text+0x369): undefined reference to
dscal_’
m_simplex.F90:(.text+0x45c): undefined reference to dasum_'* *m_simplex.F90:(.text+0x472): undefined reference to
dasum_’
m_simplex.o: In function __m_simplex_MOD_calcc':* *m_simplex.F90:(.text+0xfd2): undefined reference to
dcopy_’
m_simplex.F90:(.text+0x1015): undefined reference to daxpy_'* *m_simplex.F90:(.text+0x1050): undefined reference to
dscal_’
m_simplex.o: In function __m_simplex_MOD_simplx':* *m_simplex.F90:(.text+0x1b0a): undefined reference to
dcopy_’
m_simplex.F90:(.text+0x1d22): undefined reference to dcopy_'* *m_simplex.F90:(.text+0x1d75): undefined reference to
dcopy_’
m_simplex.o: In function __m_simplex_MOD_subplx':* *m_simplex.F90:(.text+0x2282): undefined reference to
dcopy_’
m_simplex.F90:(.text+0x22ab): undefined reference to dcopy_'* *m_simplex.o:m_simplex.F90:(.text+0x266e): more undefined references to
dcopy_’ follow
m_conjgr.o: In function __m_conjgr_MOD_conjgr':* *m_conjgr.F90:(.text+0x209): undefined reference to
ddot_’
m_conjgr.F90:(.text+0x28c): undefined reference to ddot_'* *m_conjgr.F90:(.text+0x3b3): undefined reference to
ddot_’
m_conjgr.F90:(.text+0x54c): undefined reference to ddot_'* *m_conjgr.F90:(.text+0x56d): undefined reference to
ddot_’
I presume this is related to the fact it couldn’t find a compatible library. However, on searching I haven’t found anything which points to what the issue might be! Is there anything within this output which makes it clear what the issue with my environment is?
Also in case it helps, the entire program compiles just fine in serial. When trying to run though I get this error:
/gulp: error while loading shared libraries: libgfortran.so.5: wrong ELF class: ELFCLASS32
Thanks for any help!