Problems compiling or linking Fortran programs


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



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


General


Up: Problems compiling or linking Fortran programs Next: Problems Linking C Programs Previous: Problems compiling or linking Fortran programs

    1. Q: When linking the test program, the following message is generated:
     f77 -g -o secondf secondf.o -L/usr/local/mpich/lib/sun4/ch_p4 -lmpich 
    
     invalid option -L/usr/local/mpich/lib/sun4/ch_p4 
    
     ld: -lmpich: No such file or directory 
    
    
    A: This f77 program does not accept the -L command to set the library search path. Some systems provide a shell script for f77 that is very limited in its abilities. To work around this, use the full library path instead of the -L option:
     f77 -g -o secondf secondf.o /usr/local/mpich/lib/sun4/ch_p4/libmpich.a 
    
    
    As of the mpich 1.2.0 release, the mpich configure attempts to find the correct option for indicating library paths to the Fortran compiler. If you find that the mpich configure has made an error, please submit a bug report to mpi-bugs@mcs.anl.gov.


    2. Q: When linking Fortran programs, I get undefined symbols such as

     f77  -c secondf.f 
    
     secondf.f: 
    
      MAIN main: 
    
     f77  -o secondf secondf.o -L/home/mpich/lib/solaris/ch_shmem -lmpich  
    
     Undefined                       first referenced 
    
      symbol                             in file 
    
     getdomainname                       
    
     /home/mpich/lib/solaris/ch_shmem/libmpi .a(shmempriv.o) 
    
     ld: fatal: Symbol referencing errors. No output written to secondf 
    
    
    There is no problem with C programs.

    A: This means that your C compiler is providing libraries for you that your Fortran compiler is not providing. Find the option for the C compiler and for the Fortran compilers that indicate which library files are being used (alternately, you may find an option such as -dryrun that shows what commands are being used by the compiler). Build a simple C and Fortran program and compare the libraries used (usually on the ld command line). Try the ones that are present for the C compiler and missing for the Fortran compiler.


    3. Q: When trying to run configure, I get error messages like

    ./configure: syntax error at line 20: `(' unexpected 
    
    
    A: You have an obsolete version of the Bourne shell (sh). MPICH requires that the sh shell support shell procedures; this has been standard in most Bourne shells for years. To fix this, you might consider (a) getting an update from your vendor or (b) installing one of the many publically available sh-shell replacements.



Up: Problems compiling or linking Fortran programs Next: Problems Linking C Programs Previous: Problems compiling or linking Fortran programs