1. Q: Configure reports that floating point is not commutative! How do I fix it?
A:
Check your compiler's documentation.
On RS/6000's, the -qnomaf (no
multiply-add floating point) option.
On some other systems, intermediate
results may be stored in 80-bit registers (Intel CPUs do this); this can also
lead to inconsistent rounding. You may be able to force the compiler to
round to 64 bits.
checking that the compiler f77 runs... no Fortran compiler returned non-zero return code Output from test was f2ctmp_conftest.f: MAIN main:
To fix this problem, you need a corrected f77 script. If you can edit
the script yourself, change the last 3 lines from
case $cOPT in 2) $CC $G -o $OUTF $OFILES -lf2c -lm;; esac rc=$? exit $rcto
case $cOPT in 2) $CC $G -o $OUTF $OFILES -lf2c -lm;; esac rc=$? trap 0 exit $rc
overtake.o(.text+0x59): undefined reference to `MPI_COMM_WORLD' overtake.o(.text+0x81): undefined reference to `MPI_COMM_WORLD' ...
To fix this problem, you need a corrected f77 script. If you can edit
the script yourself, change the last 3 lines from
case $cOPT in 2) $CC $G -o $OUTF $OFILES -lf2c -lm;; esac rc=$? exit $rcto
case $cOPT in 2) $CC $G -o $OUTF $OFILES -lf2c -lm;; esac rc=$? trap 0 exit $rc
3. Q:
During the configure step, messages like
/homes/me/mpich/configure: 134956160: Permission deniedsometimes appear. What is wrong?
A:
This is a bug in the Linux sh shell. The shell is attempting to create a file
with the name /tmp/t<processid>-sh (e.g., /tmp/t11203-sh), but
was unable to. This may happen if /tmp is full; however, it can also
happen when the shell created the same file for another user days before.
(You can see this happen by running configure under strace -f).
The only fix is to have your systems administrator clean old files out of
/tmp.