My fortran code uses MPI, with all MPI lines prefixed with !$ for conditional compilation. Compiling the code using ifort on a Linux cluster, with command lines:
ifort -O2 -ip -ipo -inline-factor=100 -unroll-aggressive -openmp -o a.out *.f90
mpif90 -O2 -ip -ipo -inline-factor=100 -unroll-aggressive -openmp -o a-mpi.out *.f90
I got 2 binaries, a.out and a-mpi.out, which both work fine on the cluster. However, when they are tested by my colleague on his Linux machine, he had no problem with a.out, but had an error message
./a.out: error while loading shared libraries: libmpichf90nc.so.2: cannot open shared object file: No such file or directory
with a-mpi.out. It seems the library libmpichf90nc.so.2 is needed for run using MPI. When he tested the binary again with the library libmpichf90nc.so.2 provided by me, he got another different error message
'a_mpi.out: error while loading shared libraries: libmpichf90nc.so.2: invalid ELF header'
Can you kindly help me out of the problem?
Thanks a lot!