[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