[mpich-discuss] Cannot build mpich2-1.0.8p1 (nemesis) with PGI 8.0-4 on Linux x86_64
Gus Correa
gus at ldeo.columbia.edu
Mon Mar 30 18:12:53 CDT 2009
Dear MPICH experts
I tried to build the latest mpich2-1.0.8p1,
with the nemesis communication device,
using the PGI 8.0-4 compilers (pgcc, pgcpp, and pgf90)
on a Linux x86_64 computer, but it failed.
The error message, which happens during the make phase, is:
make[7]: Entering directory
`/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/mpid/ch3/channels/nemesis/nemesis/src'
pgcc -DHAVE_CONFIG_H -I.
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/nemesis/nemesis/src
-I. -I../include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/ch3/channels/nemesis/nemesis/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/include
-DNDEBUG -O2 -DUSE_PROCESS_LOCKS
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/mpid/ch3/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/mpid/common/datatype
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/datatype
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/mpid/ch3/channels/nemesis/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/nemesis/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/nemesis/nemesis/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor
-c
/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/nemesis/nemesis/src/mpid_nem_alloc.c
PGC-F-0249-#error -- No swap function defined for this architecture
(/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/nemesis/nemesis/include/mpid_nem_atomics.h:
31)
PGC/x86-64 Linux 8.0-4: compilation aborted
**
Apparently all three pre-processor macros
HAVE_GCC_AND_PENTIUM_ASM,
HAVE_GCC_AND_X86_64_ASM, and
HAVE_GCC_AND_IA64_ASM
on the mpid_nem_atomics.h file are not defined.
Since I am working on an x86_64 Linux computer with gcc,
I thought configure would somehow define HAVE_GCC_AND_X86_64_ASM.
Or not?
**
More information about the computer, which is the
head of a cluster with similar compute nodes:
1. AMD Opteron Shanghai (dual socket, quad core)
2. Linux kernel 2.6.18-92.1.22.el5 #1 SMP (CentOS 5.2)
3. PGI 8.0.4
4. Gnu/GCC 4.1.2
**
My configure script:
#! /bin/sh
export MYINSTALLDIR=/some/directory/
export CC=pgcc
export CXX=pgcpp
export F77=pgf90
export F90=${F77}
# Note: Optimization flags for AMD Opteron "Shanghai"
export MPICH2LIB_CFLAGS='-tp shanghai-64 -fast -Mfprelaxed -static'
export MPICH2LIB_CXXFLAGS=${MPICH2LIB_CFLAGS}
export MPICH2LIB_FFLAGS=${MPICH2LIB_CFLAGS}
export MPICH2LIB_F90FLAGS=${MPICH2LIB_CFLAGS}
####################################################
../configure \
--prefix=${MYINSTALLDIR} \
--with-device=ch3:nemesis \
--enable-fast \
2>&1 | tee configure_${build_id}.log
**
BTW, I built mpich2-1.0.8p1 with nemesis on the same computer
using Gnu compilers (gcc, g++, gfortran),
and also using Intel compilers (icc, icpc, ifort).
However, we also need the PGI build of MPICH2.
I appreciate any help.
Gus Correa
---------------------------------------------------------------------
Gustavo Correa
Lamont-Doherty Earth Observatory - Columbia University
Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------
More information about the mpich-discuss
mailing list