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