Problems configuring


Up: In Case of Trouble Next: General Previous: Other Problems



Up: In Case of Trouble Next: General Previous: Other Problems


General


Up: Problems configuring Next: Linux Previous: Problems configuring

    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.



Up: Problems configuring Next: Linux Previous: Problems configuring


Linux


Up: Problems configuring Next: Problems building mpich Previous: General

    1. Q: The configure step issues the message:


    checking that the compiler f77 runs... no 
    Fortran compiler returned non-zero return code 
    Output from test was 
    f2ctmp_conftest.f: 
       MAIN main: 
    

    A: This is probably caused by a problem in the Fortran compiler in older versions of Linux. The f77 command in Linux was often a shell script that uses the f2c program to convert the Fortran program to C, and then compile it with the C compiler. In many versions of Linux, this script has an error that causes a non-zero return code even when the compilation is successful.

    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 $rc 
    
    to
    case $cOPT in 2) $CC $G -o $OUTF $OFILES -lf2c -lm;; esac 
    rc=$? 
    trap 0 
    exit $rc 
    

    2. Q: The link test fails on Linux with messages like


    overtake.o(.text+0x59): undefined reference to `MPI_COMM_WORLD' 
    overtake.o(.text+0x81): undefined reference to `MPI_COMM_WORLD' 
    ... 
    

    A: This is probably caused by a problem in the Fortran compiler in Linux. In some early versions of Linux, the f77 command in Linux is often a shell script that uses the f2c program to convert the Fortran program to C, and then compile it with the C compiler. In many versions of Linux, this script has an error that causes a non-zero return code even when the compilation is successful.

    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 $rc 
    
    to
    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 denied 
    
    sometimes 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.



Up: Problems configuring Next: Problems building mpich Previous: General