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, and making any use of /tmp is 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/lib/IRIX32/ch_p4/mpicc \ 
                                             -o overtake overtake.o test.o  
      ld: WARNING 126: The archive \ 
         /homes/them/burgess/mpich/lib/IRIX32/ch_p4/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.



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 int 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 SP2 Previous: SGI

    1. Q: The link test failed on LINUX 3.0 with
    ... 
    cc  -o overtake overtake.o test.o -L/usr/local/mpich/lib/LINUX/ch_p4 
    -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.



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


IBM SP2


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

    1. Q: Linking fails on an IBM SP2 for the ch_mpl device.

    A: You may have a version of the IBM MPL/POE software that already includes MPI. If that is the case, we recommend that you use that version. If you need to use MPICH, configure with -mpilibname=mpich and rebuild MPICH.


    2.



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


DEC ULTRIX


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

    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 SP2