Unable to compile 64-bit MPICH under Solaris 9
Mike Newton
jmnewton at duke.edu
Wed Jun 8 13:11:29 CDT 2005
Hopefully someone can point to a solution for a problem I'm having.
I am trying to compile a 64-bit version of MPICH with limited success.
My environment consists of a 12 CPU domain on a Sun 12K running Solaris
9. I'm using Sun's Studio Pro compilers (C and Fortran).
I have the following environment variables set:
CC=/opt/SUNWspro/bin/cc
FC=/opt/SUNWspro/bin/f77
F77=/opt/SUNWspro/bin/f77
F90=/opt/SUNWspro/bin/f90
CFLAGS="-xarch=v9b"
FFLAGS="-xarch=v9b"
I've downloaded both MPICH 1.2.6 and MPICH2 1.0.1. I've gotten different
errors, but same results, no 64-bit C and Fortran.
I tried compiling MPICH 1.2.6 with the following configure.
configure --with-arch=solaris --with-device=ch_shmem \
--with-common-prefix=/usr/local/mpich-1.2.6 \
--prefix=/usr/local/mpich-1.2.6/ch_shmem64
If I unset the CFLAGS and FFLAGS a 32-bit version compiles fine. If I
set the flags then only a 64-bit C version is built and the Fortran is
skipped. I get the following lines when running configure:
Warning: Fortran programs cannot be linked with the C libraries
Fortran support being turned off
So I thought I would give MPICH2 a run at compiling. I ran configure
with the following options:
configure --prefix=/usr/local/mpich2-1.0.1 --enable-f77 \
--with-device=ch3:shm --with-pm=gforker
configure runs fine,but during the make the following error is thrown:
"shm.c", line 15: cannot find include file: <sys/ptrace.h>
"shm.c", line 1580: warning: statement not reached
cc: acomp failed for shm.c
If I remove --with-device=ch3:shm and run configure and make again, the
following error is thrown:
"pmiport.c", line 79: warning: implicit function declaration:
MPIU_Error_printf
"pmiport.c", line 86: warning: implicit function declaration: bzero
"pmiport.c", line 99: warning: implicit function declaration:
MPIU_Internal_sys_error_printf
"pmiport.c", line 135: warning: implicit function declaration:
MPIE_GetMyHostName
"pmiport.c", line 190: warning: implicit function declaration:
PMI_Init_port_connection
ar cr libmpiexec.a cmnargs.o process.o ioloop.o pmiserv.o labelout.o
env.o newsession.o rm.o pmiport.o
ranlib libmpiexec.a
/opt/SUNWspro/bin/cc -o mpiexec mpiexec.o -L../util -lmpiexec \
-L../../../lib -lmpich -lnsl -lsocket
ld: fatal: file mpiexec.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to mpiexec
I then removed the --with-pm=gforker and ran configure and make, and I
was able to get a good compile. It seems inefficient, however to have to
run the mpd process with sockets instead of using shared memory and the
forker process manager.
--
Mike Newton <jmnewton at duke.edu>
More information about the mpich-discuss
mailing list