[MPICH] mpich2-1.0.5p4 build failure with PGI 6.2
Garrick Staples
garrick at usc.edu
Thu Apr 19 17:14:25 CDT 2007
Hi all,
I'm finally taking my first tentative steps forward from mpichgm-1.2.x
to mpich2. I just downloaded mpich2-1.0.5p4 and am having a problem
building with pgi 6.2-5.
This is mostly taking from pgroup.com's faq:
env CFLAGS="-fast " CXXFLAGS="-fast" FFLAGS="-fast " \
F90FLAGS="-fast " LDFLAGS="-fast " OPTFLAGS="-fast " \
CC=pgcc CXX=pgCC F77=pgf77 F90=pgf90 CPP="pgCC -E" \
./configure --enable-fast --with-device=ch3:nemesis:gm \
--with-file-system=pvfs2+nfs+ufs
Though the pgroup.com docs say to use FC, './configure --help' says to
use F77.
./configure output looks reasonable. I don't see any errors or anything
that looks incorrect.
make fails with:
make[7]: Entering directory
`/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/src'
pgcc -DHAVE_CONFIG_H -I.
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/src
-I. -I../include
-I/home/garrick/mpich2-1.0.5p4/src/ch3/channels/nemesis/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/include
-I/home/garrick/mpich2-1.0.5p4/src/include -fast
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/common/datatype
-I/home/garrick/mpich2-1.0.5p4/src/mpid/common/datatype
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor
-c mpid_nem_alloc.c
PGC-F-0249-#error -- No swap function defined for this architecture
(../include/mpid_nem_atomics.h: 32)
PGC/x86 Linux/x86 6.2-5: compilation aborted
make[7]: *** [mpid_nem_alloc.o] Error 2
And sure enough, it looks like the C compiler *must* be gcc?
src/mpid/ch3/channels/nemesis/nemesis/include/mpid_nem_atomics.h:
static inline void *MPID_NEM_SWAP (volatile void *ptr, void *val)
{
#ifdef HAVE_GCC_AND_PENTIUM_ASM
...
#elif defined(HAVE_GCC_AND_X86_64_ASM)
...
#elif defined(HAVE_GCC_AND_IA64_ASM)
...
#else
#error No swap function defined for this architecture
#endif
And just for fun, since I am on a pentium-type machine, I define
HAVE_GCC_AND_PENTIUM_ASM in include/mpichconf.h but get some warnings
and the examples at the end fail.
make[7]: Entering directory
`/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/src'
pgcc -DHAVE_CONFIG_H -I.
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/src
-I. -I../include
-I/home/garrick/mpich2-1.0.5p4/src/ch3/channels/nemesis/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/include
-I/home/garrick/mpich2-1.0.5p4/src/include -fast
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/common/datatype
-I/home/garrick/mpich2-1.0.5p4/src/mpid/common/datatype
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/include
-I/home/garrick/mpich2-1.0.5p4/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor
-c mpid_nem_alloc.c
PGC-W-0352-Constraint/expression type mismatch in extended ASM operand 1
(mpid_nem_alloc.c: 165)
PGC/x86 Linux/x86 6.2-5: compilation completed with warnings
(repeated lots of time for each file)
make[1]: Entering directory `/home/garrick/mpich2-1.0.5p4/examples'
../bin/mpicc -I../src/include -I/home/garrick/mpich2-1.0.5p4/src/include -fast -O3 -c cpi.c
../bin/mpicc -fast -O3 -fast -fast -L../lib -o cpi cpi.o -lm -lmpich -lgm -luuid -lgm -luuid -L/usr/lib
-lpvfs2 -lcrypt -lssl -lpthread -lrt -lgm -luuid -lgm -luuid
-L/usr/lib -lpvfs2 -lcrypt -lssl -lpthread -lrt
../lib/libmpich.a(ch3_progress.o)(.text+0x4c0): In function `MPID_nem_mpich2_send_header':
: multiple definition of `MPID_nem_mpich2_send_header'
../lib/libmpich.a(mpid_nem_mpich2.o)(.text+0x4c0): first defined here
../lib/libmpich.a(ch3_progress.o)(.text+0x8e0): In function `MPID_nem_mpich2_sendv':
: multiple definition of `MPID_nem_mpich2_sendv'
../lib/libmpich.a(mpid_nem_mpich2.o)(.text+0x8e0): first defined here
(repeated for lots of functions)
--
Garrick Staples, GNU/Linux HPCC SysAdmin
University of Southern California
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20070419/01aa14d5/attachment.pgp>
More information about the mpich-discuss
mailing list