Larry Baker US Geological Survey 650-329-5608 ba...@usgs.gov
Development environment:
[baker@hydra ~]$ cat /etc/redhat-release CentOS release 4.5 (Final) [baker@hydra ~]$ uname -aLinux hydra.wr.usgs.gov 2.6.9-55.0.2.ELsmp #1 SMP Tue Jun 26 14:14:47 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux[baker@hydra ~]$ rpm -q -a | grep gcc gcc-3.4.6-8 gcc4-4.1.1-53.EL4 compat-libgcc-296-2.96-132.7.2 libgcc-3.4.6-8 globus_scheduler_event_generator_sge_gcc64_rtl-1.1-0 gcc-c++-3.4.6-8 libgcc-3.4.6-8 globus_scheduler_event_generator_sge_gcc64_dev-1.1-0 gcc-g77-3.4.6-8 gcc4-gfortran-4.1.1-53.EL4
Login as root, then type:
[root@hydra ~]# cd /usr/local/src [root@hydra src]# sh make-openmpi-1.5rc5-pgi.sh
make-openmpi-1.5rc5-pgi.sh:
# Patch OpenMPI 1.5rc5 cd /usr/local/src tar -xjf openmpi-1.5rc5.tar.bz2 source patch-openmpi-1.5rc5.sh # Configure OpenMPI 1.5rc5 for PGI 10.3 compilers cd openmpi-1.5rc5 export PGI_DIR=/opt/pgi/linux86-64/10.3 export PATH=$PGI_DIR/bin:$PATH ./configure >configure.log 2>&1 \ --prefix=$PGI_DIR/openmpi --with-sge \ --with-wrapper-cflags="-DNO_PGI_OFFSET" \ --with-wrapper-cxxflags="-DNO_PGI_OFFSET" \ CC="pgcc -m64" \ CFLAGS="-g -O3 -tp amd64 -DNO_PGI_OFFSET" \ CXX="pgcpp -m64" \ CXXFLAGS="-g -O3 -tp amd64 -DNO_PGI_OFFSET" \ FC="pgf90 -m64" \ FCFLAGS="-g -O3 -tp amd64" \ F77="pgf90 -m64" \ FFLAGS="-g -O3 -tp amd64" # Would like to do Makefile fixups here, but make recreates them # Do the make until the link fails make >make_part1.log 2>&1 # Apply Makefile fixups to add -lpthread to the LIBS variable find . -name Makefile -exec cp {} {}.original ';' \-exec sh -c "sed -e '/^LIBS = -lnsl -lutil$/s/$/ - lpthread/' {}.original >{}" ';'# Finish the make make >make_part2.log 2>&1 # Validate the library make check >check.log 2>&1
patch-openmpi-1.5rc5.sh:
# Fixes to correctly identify PGI compiler versions 1 through 5 mv openmpi-1.5rc5/config/libtool.m4{,.original} sed -e '5899s/\[\[1-5\]\]\*/\[\[1-5\]\].\*/g' \ openmpi-1.5rc5/config/libtool.m4.original \ >openmpi-1.5rc5/config/libtool.m4 mv openmpi-1.5rc5/opal/libltdl/m4/libtool.m4{,.original} sed -e '5899s/\[\[1-5\]\]\*/\[\[1-5\]\].\*/g' \ openmpi-1.5rc5/opal/libltdl/m4/libtool.m4.original \ >openmpi-1.5rc5/opal/libltdl/m4/libtool.m4# Disable inline assembly for PGI C++, as is done for PGI C (26246), and# Fix PGI C compiler warning (11146, 19215): Pragma ignored - string # expected after #pragma ident mv openmpi-1.5rc5/configure{,.original}sed -e '26246{x;s/^.*$/ if test "$ompi_cv_cxx_compiler_vendor" = "portland group" ; then/;p; s/^.*$/ # PGI seems to have some issues with our inline assembly./;p;s/^.*$/ # Disable for now./;p; s/^.*$/ asm_result="no (Portland Group)"/;p; s/^.*$/ else/;G;}' \ -e '26369{x;s/^.*$/ fi/;G;}' \ -e '11146{s/#pragma ident/#define IDENT/;p; s/^.*$/#pragma ident \$IDENT/;}' \ -e '19215{s/#pragma ident/#define IDENT/;p; s/^.*$/#pragma ident \$IDENT/;}' \ openmpi-1.5rc5/configure.original \ >openmpi-1.5rc5/configure chmod +x openmpi-1.5rc5/configure # Fix PGI compiler warning: Array name used in logical expression mv openmpi-1.5rc5/opal/libltdl/ltdl.h{,.original} sed -e '44s/((s) && (s)\[0\])/(s!=NULL)/' \ openmpi-1.5rc5/opal/libltdl/ltdl.h.original \ >openmpi-1.5rc5/opal/libltdl/ltdl.h# Fix PGI compiler warning: Redefinition of symbol assert (364-370) and # Pointer value created from a nonlong integral type (444, 459, 3446, 3664, 3789)mv openmpi-1.5rc5/opal/mca/memory/ptmalloc2/hooks.c{,.original} sed -e '444s/: 0;/: NULL;/' \ -e '459s/: 0;/: NULL;/' \ openmpi-1.5rc5/opal/mca/memory/ptmalloc2/hooks.c.original \ >openmpi-1.5rc5/opal/mca/memory/ptmalloc2/hooks.c mv openmpi-1.5rc5/opal/mca/memory/ptmalloc2/malloc.c{,.original} sed -e '364,369d' \ -e '370{s/^.*$/#if MALLOC_DEBUG \&\& defined( NDEBUG )/;p;s/^.*$/#error -DMALLOC_DEBUG is inconsistent with - DNDEBUG/;p;s/^.*$/#endif/;p; s/^.*$//;p; s/^.*$/#include <assert.h>/;}' \ -e '3446s/: 0,/: NULL,/' \ -e '3664s/: 0,/: NULL,/' \ -e '3789s/: 0,/: NULL,/' \ openmpi-1.5rc5/opal/mca/memory/ptmalloc2/malloc.c.original \ >openmpi-1.5rc5/opal/mca/memory/ptmalloc2/malloc.c# Fix PGI compiler error: expected an identifier caused by misplaced #define that causes # syntax error later in <omp.h> (Note: -mp should be configured by configure/libtool) mv openmpi-1.5rc5/ompi/contrib/vt/vt/extlib/otf/tools/otfprofile/ otfprofile.cpp{,.original}sed -e '16,17d' \ -e '19,22d' \ -e '26,28d' \openmpi-1.5rc5/ompi/contrib/vt/vt/extlib/otf/tools/otfprofile/ otfprofile.cpp.original \ >openmpi-1.5rc5/ompi/contrib/vt/vt/extlib/otf/tools/otfprofile/ otfprofile.cpp
On Aug 17, 2010, at 2:18 PM, Jeff Squyres wrote:
We still have one known possible regression: https://svn.open-mpi.org/trac/ompi/ticket/2530But we posted rc5 anyway (there's a bunch of stuff that has been pending for a while that is now in). Please test!http://www.open-mpi.org/software/ompi/v1.5/ -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ _______________________________________________ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel
make-openmpi-1.5rc5-pgi.sh
Description: Binary data
patch-openmpi-1.5rc5.sh
Description: Binary data