[MPICH] mpich2-1.0.5p4 build failure with PGI 6.2

Darius Buntinas buntinas at mcs.anl.gov
Fri Apr 20 09:52:52 CDT 2007


Sorry, nemesis doesn't support pg compilers (yet).  You can use gcc and 
intel compilers though.

Darius

Garrick Staples wrote:
> 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)
> 
> 
> 
> 




More information about the mpich-discuss mailing list