[MPICH] Problems with mpicc

Darius Buntinas buntinas at mcs.anl.gov
Thu Jul 19 16:40:10 CDT 2007


Jeff,

Do you have the MPICH_CC environment set to 
/home/laytonj/bin/mpich2-1.0.5p4-g95/bin/mpicc?

If so, do an unset MPICH_CC (unsetenv MPICH_CC in csh) and try again.

MPICH_CC is used to override the default compiler (usually gcc, or icc) 
in the mpicc script.  Normally this should not be set.

Darius

On 07/19/2007 04:39 PM, Jeffrey B. Layton wrote:
> Darius,
> 
> Here's the compile line with -show
> 
> mpicc mpi_serial_io.c -o mpi_serial_io -show
> /home/laytonj/bin/mpich2-1.0.5p4-g95/bin/mpicc mpi_serial_io.c -o 
> mpi_serial_io -I/home/laytonj/bin/mpich2-1.0.5p4-g95/include 
> -L/home/laytonj/bin/mpich2-1.0.5p4-g95/lib -lmpich -lpthread -lrt
> 
> Thanks!
> 
> Jeff
> 
>> Hi Jeff,
>>
>> Add
>>   -show
>> to the end of your mpicc command and send us the output.  This will 
>> show the actual compile command.
>>
>> Thanks,
>> Darius
>>
>> On 07/19/2007 04:12 PM, Jeffrey B. Layton wrote:
>>> I can't even seem to compile to create test. I just tried a
>>> different binary output name with the same result
>>> (it hung for about 5 minutes).
>>>
>>> Jeff
>>>
>>>> Just in case this might be the problem, I'll remind you that there 
>>>> is a system program named "test" which does nothing but set the exit 
>>>> code.
>>>> Are you sure you aren't accidentally running this program instead of 
>>>> the one compiled from code.c but linked as "test"?
>>>>
>>>> Rusty
>>>>
>>>> On Jul 19, 2007, at 3:47 PM, Jeffrey B. Layton wrote:
>>>>
>>>>> Afternoon,
>>>>>
>>>>> I built mpich2-1.0.5p4 with g95 and gcc 3.4.3 (see below).
>>>>> Here's the configuration I used:
>>>>>
>>>>> ./configure  -prefix=/home/laytonj/bin/mpich2-1.0.5p4-g95  \
>>>>> --enable-f77 --enable-f90 --enable-romio --disable-mpe \
>>>>> --with-file-system="nfs+ufs"
>>>>>
>>>>> MPICH2 seemed to build and install just fine. Then I tried
>>>>> compiling one of the non-MPI-IO codes from the MPI-2
>>>>> book (see below). When I compile:
>>>>>
>>>>> mpicc code.c -o test
>>>>>
>>>>> it just hangs for a long time (I've let it sit for over 20 mins.).
>>>>> The load stays around 1.0 and the memory usage doesn't
>>>>> increase during the whole time.
>>>>>
>>>>> I know this one is a toughy. Any ideas?
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Jeff
>>>>>
>>>>> gcc configuration:
>>>>> % gcc -v
>>>>> Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs
>>>>> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
>>>>> --infodir=/usr/share/info --enable-shared --enable-threads=posix 
>>>>> --disable-checking --with-system-zlib --enable-__cxa_atexit 
>>>>> --disable-libunwind-exceptions --enable-java-awt=gtk 
>>>>> --host=i386-redhat-linux
>>>>> Thread model: posix
>>>>> gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)
>>>>>
>>>>> sample code:
>>>>> /* example of sequential Unix write into a common file */
>>>>> #include "mpi.h"
>>>>> #include <stdio.h>
>>>>> #define BUFSIZE 100
>>>>>
>>>>> int main(int argc, char *argv[])
>>>>> {
>>>>>    int i, myrank, numprocs, buf[BUFSIZE];
>>>>>    MPI_Status status;
>>>>>    FILE *myfile;
>>>>>
>>>>>    MPI_Init(&argc, &argv);
>>>>>    MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
>>>>>    MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
>>>>>    for (i=0; i<BUFSIZE; i++)
>>>>>        buf[i] = myrank * BUFSIZE + i;
>>>>>    if (myrank != 0)
>>>>>        MPI_Send(buf, BUFSIZE, MPI_INT, 0, 99, MPI_COMM_WORLD);
>>>>>    else {
>>>>>        myfile = fopen("testfile", "w");
>>>>>        fwrite(buf, sizeof(int), BUFSIZE, myfile);
>>>>>        for (i=1; i<numprocs; i++) {
>>>>>            MPI_Recv(buf, BUFSIZE, MPI_INT, i, 99, MPI_COMM_WORLD,
>>>>>                     &status);
>>>>>            fwrite(buf, sizeof(int), BUFSIZE, myfile);
>>>>>        }
>>>>>        fclose(myfile);
>>>>>    }
>>>>>    MPI_Finalize();
>>>>>    return 0;
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
> 




More information about the mpich-discuss mailing list