Problems building mpich


Up: Problems Next: General Previous: LINUX



Up: Problems Next: General Previous: LINUX


General


Up: Problems building mpich Next: Workstation Networks Previous: Problems building mpich

    1. Q: When running make on mpich, I get this error:
    ar: write error: No such file or directory 
    
    *** Error code 1 
    
    
    I've looked, and all the files are accessible and have the proper permissions.


    A: Check the amount of space in /tmp. This error is sometimes generated when there is insufficient space in /tmp to copy the archive (this is a step that ar takes when updating a library). The command df /tmp will show you how much space is available. Try to insure that at least twice the size of the library is available.


    2. Q: When running make on mpich, I get errors when executing ranlib.


    A: Many systems implement ranlib with the ar command, and they use the /tmp directory by default because it ``seems'' obvious that using /tmp would be faster (/tmp is often a local disk). Unfortunately, a large number of systems have ridiculously small /tmp partitions, making any use of /tmp very risky. In some cases, the ar commands used by MPICH will succeed because they use the l option---this forces ar to use the local directory instead of /tmp. The ranlib command, on the other hand, may use /tmp and cannot be fixed.

    In some cases, you will find that the ranlib command is unnecessary. In these cases, you can reconfigure with -noranlib. If you must use ranlib, either reduce the space used in /tmp or increase the size of the /tmp partition (your system administrator will need to do this). There should be at least 20--30 MBytes free in /tmp.


    3. Q: When doing the link test, the link fails and does not seem to find any of the MPI routines:

      /homes/them/burgess/mpich/IRIX32/ch_p4/bin/mpicc \ 
                                             -o overtake overtake.o test.o  
    
      ld: WARNING 126: The archive \ 
         /homes/them/burgess/mpich/IRIX32/ch_p4/lib/libmpi.a \ 
                                       defines no global symbols. Ignoring. 
    
      ld: WARNING 84: /usr/lib/libsun.a is not used for resolving any symbol. 
    
    ld: ERROR 33: Unresolved data symbol "MPI_COMM_WORLD" -- \ 
                                              1st referenced by overtake.o. 
    
    ld: ERROR 33: Unresolved text symbol "MPI_Send" -- \ 
                                              1st referenced by overtake.o. 
    
    ... 
    
    

    A: Check that the ar and ranlib programs are compatible. One site installed the Gnu ranlib in such a way that it would be used with the vendors ar program, with which it was incompatible. Use the -noranlib option to configure if this is the case.



Up: Problems building mpich Next: Workstation Networks Previous: Problems building mpich


Workstation Networks


Up: Problems building mpich Next: Cray T3D Previous: General

    1. Q: When building mpich, the make fails with errors like this:
    making p4 in directory lib 
    
            make  libp4.a 
    
            cc -Aa -g -I../include -I../../../../include   -c p4_globals.c  
    
    cc: "/usr/include/netinet/in.h", line 69: error 1000: Unexpected symbol: "u_long". 
    
    cc: "/usr/include/netinet/in.h", line 127: error 1000: Unexpected symbol: "u_short". 
    
    
    etc.


    A: Check to see if cc is aliased (in C shell, do alias cc). If it is, either unalias it or set the environment variable CC to the full path for the compiler. To get the full path, do

    unalias cc 
    
    setenv CC `which cc` 
    
    
    and then reconfigure.


    2. Q: When building the ch_p4 device, I get errors of the form

    making p4 in directory lib 
    
            make  libp4.a 
    
            cc -I../include -I../../../../include   -c p4_globals.c 
    
            cc -I../include -I../../../../include   -c p4_MD.c 
    
            cc -I../include -I../../../../include   -c p4_error.c 
    
    cc-142 cc: WARNING File = p4_error.c, Line = 152 
    
      The number of old style and prototype parameters does not agree. 
    
    cc-142 cc: WARNING File = p4_error.c, Line = 162 
    
      The number of old style and prototype parameters does not agree. 
    
    cc-142 cc: WARNING File = p4_error.c, Line = 169 
    
      The number of old style and prototype parameters does not agree. 
    
    cc-142 cc: WARNING File = p4_error.c, Line = 174 
    
      The number of old style and prototype parameters does not agree. 
    
    

    A: These have to do with declarations for a signal handler, and can be ignored.



Up: Problems building mpich Next: Cray T3D Previous: General


Cray T3D


Up: Problems building mpich Next: Intel i860 Previous: Workstation Networks

    1. Q: When linking I get
     mppldr-133 cf77: CAUTION 
    
         Unsatisfied external references have been encountered. 
    
    

    Unsatisfied external references Entry name Modules referencing entry

    GETARG (equivalenced to $USX1) MPIR_GETARG


    A: You may have specified the Fortran compiler with the -fc argument to configure. The MPICH Fortran implemenation of MPI uses a common Fortran extension, GETARG, to get the command line arguments. Most Fortran runtime systems support this, but Cray uses call pxfgetarg(i,s,len(s),ierr) instead. You can change the file src/env/farg.f manually to call the correct routine (but note that configure builds a new farg.f from farg.f.in each time that it is run).

    On HP-UX version 10 systems, you can try configuring with -fflags=+U77 and rebuilding MPICH. This is now the default.

    Mpich now attempts to determine the correct names of the routines to access the command line. If you find that mpich fails to determine the names correctly, please send a bug report to mpi-bugs@mcs.anl.gov.



Up: Problems building mpich Next: Intel i860 Previous: Workstation Networks


Intel i860


Up: Problems building mpich Next: Intel Paragon Previous: Cray T3D

    1. Q: The link test fails on an Intel i860 with
            icc  -o overtake overtake.o test.o -L/mpich/lib/intelnx/  -lmpi  -lnode 
    
    /usr/ipsc/XDEV/i860/bin/ld860: Error: undefined symbol '_MPI_Keyval_create' 
    
    /usr/ipsc/XDEV/i860/bin/ld860: Fatal: no output file created 
    
    

    A: You are probably building MPICH on an old 386 running System V release 2. This version of Unix has very severe limitations on the length of filenames (more severe than we are willing to cater to). The specific problem here is that the name of the file mpich/src/context/keyval_create.c is too long for this system, and was not properly archived. You best bet is to build MPICH on a different, more modern system (for example, a Sun running SunOS or Solaris).



Up: Problems building mpich Next: Intel Paragon Previous: Cray T3D


Intel Paragon


Up: Problems building mpich Next: SGI Previous: Intel i860

    1. Q: I got the following messages when I tried to build on the Paragon:
    PGC-W-0115-Duplicate standard type (init.c: 576) 
    
    PGC/Paragon Paragon Rel R5.0: compilation completed with warnings 
    
    PGC-W-0115-Duplicate standard type (init.c: 576) 
    
    PGC/Paragon Paragon Rel R5.0: compilation completed with warnings 
    
    

    A: This is because the compiler doesn't handle long long but doesn't reject it either. It causes no harm.


    2. Q: I get errors compiling or running Fortran programs.


    A:

    Fortran programs will need to use a absolute path for the mpif.h include file, due to a bug in the if77 compiler (it searches include directories in the wrong order).



Up: Problems building mpich Next: SGI Previous: Intel i860


SGI


Up: Problems building mpich Next: LINUX Previous: Intel Paragon

    1. Q: The build on an SGI Power Challenge fails with
    Signal: SIGSEGV in Back End Driver phase. 
    
    > ### Error: 
    
    > ### Signal SIGSEGV in phase Back End Driver -- processing aborted 
    
    > f77 ERROR:  /usr/lib64/cmplrs/be died due to signal 4 
    
    > f77 ERROR:  core dumped 
    
    > *** Error code 2 (bu21) 
    
    > *** Error code 1 (bu21) 
    
    > *** Error code 1 (bu21) 
    
    

    A: Our information is that setting the environment variable SGI_CC to -ansi will fix this problem.


    2. Q: The build on an SGI with architecture IRIXN32 fails with

    cc: Warning: -c should not be used with ucode -O3 -o32 \ 
                 on a single file; use -j instead to get inter-module optimization. 
    
    

    A: Amazingly, the standard -c option is not valid for the SGI compilers when both -O3 and -n32 are specified. This is a ``feature'' of the SGI compiler, and there is no way to work around this for MPICH (other than a massive and non-portable rewrite of all the Makefiles). Your only option is to not use the -O3 option.



Up: Problems building mpich Next: LINUX Previous: Intel Paragon


LINUX


Up: Problems building mpich Next: IBM SP Previous: SGI

    1. Q: The link test failed on LINUX 3.0 with
    ... 
    
    cc  -o overtake overtake.o test.o -L/usr/local/mpich/LINUX/ch_p4/lib 
    
    -lmpi  
    
    overtake.o(.text+0x71): undefined reference to `MPI_COMM_WORLD' 
    
    overtake.o(.text+0x82): undefined reference to `MPIR_I_DOUBLE' 
    
    overtake.o(.text+0xe1): undefined reference to `MPI_COMM_WORLD' 
    
    ... 
    
    

    A: We have been informed that there is a error in the f77 script in some versions of LINUX which causes this problem. Try either getting a patch for the f77 script or reconfiguring with -nof77.


    2. Q: The build fails for the ch_p4 device when using the Compaq C compiler.
    A: There is an incompatibility with the system include files (not the MPICH include files). If you can modify /usr/include/rpc/xdr.h, add the following near the top of that file:

        #if defined(__DECC) || defined(__DECCXX) 
    
        typedef long int int64_t; 
    
        #endif 
    
    



Up: Problems building mpich Next: IBM SP Previous: SGI


IBM SP


Up: Problems building mpich Next: DEC ULTRIX Previous: LINUX

    1. Q: When trying to link on an IBM SP, I get the message from mpirun:
    mpCC  -o overtake overtake.o test.o \ 
          -L/usr/local/src/Mpi/1.2.0/lib/rs6000/ch_eui   -lmpich 
    
    ld: 0711-317 ERROR: Undefined symbol: .mp_main 
    
    ld: 0711-317 ERROR: Undefined symbol: .mp_environ 
    
    ld: 0711-317 ERROR: Undefined symbol: .mpc_bsend 
    
    ... 
    
    

    A: Your IBM implementation does not seem to contain the MPL routines that MPICH uses to implement MPI. Your system may contain the IBM version of MPI; you should use that instead.



Up: Problems building mpich Next: DEC ULTRIX Previous: LINUX


DEC ULTRIX


Up: Problems building mpich Next: Problems in testing Previous: IBM SP

    1. Q: When trying to build, the make aborts early during the cleaning phase:
    amon:MPICH/mpich>make clean 
    
            /bin/rm -f *.o *  nupshot 
    
    *** Error code 1 
    
    

    A: This is a bug in the shell support on some DEC ULTRIX systems. You may be able to work around this with


    setenv PROG_ENV SYSTEM_FIVE 
    
    
    Configuring with -make=s5make may also work.



Up: Problems building mpich Next: Problems in testing Previous: IBM SP