Compilation error: mpiexec-0.76 + PGI CDK 5.1 on x86-64

James Stephens jns at ias.edu
Wed Apr 21 15:11:43 EDT 2004


Pete,

It worked like a charm.

I feel more comfortable having mpiexec built with with PGI aswell as MPICH.

Thanks a million,

James

Pete Wyckoff wrote:

>jns at ias.edu wrote on Wed, 21 Apr 2004 14:21 -0400:
>  
>
>>I am experiencing difficulties compiling mpiexec-0.76 using PGI CDK 5.1 
>>on x86-64. The configure stage
>>works fine but after this I get problems:
>>
>>CC=/usr/pgi/linux86-64/5.1/bin/pgcc ./configure 
>>--with-default-comm=mpich-p4 --disable-p4-shmem 
>>--with-pbssrc=/usr/local/src/torque-1.0.1p6
>>    
>>
>
>Try
>
>    --with-pbs=/usr/local/torque
>
>(or wherever you installed the built torque) instead of --with-pbssrc.
>Without that option it picks up -lpbs from some standard system
>location, perhaps /usr/local/lib.
>
>  
>
>>PGC-S-0137-Incompatible prototype declaration for function walk_buf_list 
>>(stdio.c: 530)
>>    
>>
>
>Oops.  Here's a patch for that and the socklen_t warnings.  Every
>compiler always finds more bugs it seems.
>
>  
>
>>I am able to compile mpiexec on x86-64 using gcc-3.2.3-24, but 
>>unfortunately MPICH was
>>built with PGI because I need F90 capability.
>>    
>>
>
>It's actually okay to use gcc here even though your MPI codes are
>compiled with something else.  mpiexec itself is not an MPI application
>so it won't even look at your MPICH library.
>
>		-- Pete
>
>Index: stdio.c
>===================================================================
>RCS file: /cvs/mpiexec/stdio.c,v
>retrieving revision 1.29
>diff -u -r1.29 stdio.c
>--- stdio.c	1 Mar 2004 16:06:04 -0000	1.29
>+++ stdio.c	21 Apr 2004 18:35:10 -0000
>@@ -96,7 +96,7 @@
> static void goodbye_from_parent(int sig);
> static void listen_abort_fd(int sig);
> static void catch_alarm(int sig);
>-static void walk_buf_list(int which);
>+static void walk_buf_list(fd_which_t which);
> static void accept_pmi_conn(void);
> static void handle_pmi(int rank);
> 
>@@ -649,7 +649,7 @@
> {
>     int t;
>     struct sockaddr_in sin;
>-    int len = sizeof(sin);
>+    socklen_t len = sizeof(sin);
> 
>     PRINTF("%s: getting new %s from fd %d\n", __func__, which_name(which),
>       listener[which]);
>@@ -691,7 +691,7 @@
> {
>     int fd, cc;
>     struct sockaddr_in sin;
>-    int len = sizeof(sin);
>+    socklen_t len = sizeof(sin);
> 
>     fd = accept(abort_fd, (struct sockaddr *) &sin, &len);
>     if (fd < 0)
>Index: start_tasks.c
>===================================================================
>RCS file: /cvs/mpiexec/start_tasks.c,v
>retrieving revision 1.40
>diff -u -r1.40 start_tasks.c
>--- start_tasks.c	19 Apr 2004 17:01:22 -0000	1.40
>+++ start_tasks.c	21 Apr 2004 18:35:10 -0000
>@@ -989,7 +989,8 @@
> 		FD_SET(fd, &wfs);
> 		ret = select(fd+1, 0, &wfs, 0, &tv);
> 		if (ret == 1) {
>-		    int f, flen = sizeof(f);
>+		    int f;
>+		    socklen_t flen = sizeof(f);
> 		    ret = getsockopt(fd, SOL_SOCKET, SO_ERROR, &f, &flen);
> 		    if (ret < 0)
> 			error_errno("%s: getsockopt SO_ERROR after connect",
>  
>

-- 
==============================================================
Dr. James C. Stephens             Email: jns at ias.edu

Computer Manager,                 Tel: (001) 609 734 8176 Work
School of Natural Sciences,            (001) 609 434 1266 Home
Institute For Advanced Study,
Princeton, New Jersey 08540       Fax: (001) 609 951 4519

Web: http://www.sns.ias.edu/~jns
==============================================================




More information about the mpiexec mailing list