[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