Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] v1.5.1 build failed with PGI compiler
From: Paul Kapinos (kapinos_at_[hidden])
Date: 2011-01-04 05:41:21


Dear OpenMPI folks,

I tried to buld the version 1.5.1 with different compilers, and the
build with PGI compilers failed. I believe, the configuration of the
final link stage goes not well - an option (LDFLAGS) explicitly given by
configuring is partially lost. In the past we were able to build 1.4.x
versions with the same compilers and configuration options, so it looks
for me as a new configuration issue in 1.5.x

Configured with:

###################################################################
./configure --with-openib --with-devel-headers
--enable-contrib-no-build=vt --enable-mpi-threads
CFLAGS=-fastsse -tp k8-32
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib
CXXFLAGS=-fastsse -tp k8-32
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib
FFLAGS=-fastsse -tp k8-32
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib
FCFLAGS= -tp k8-32
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib
F77=pgf90
LDFLAGS=-fastsse -tp k8-32
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib
--prefix=/....../MPI/openmpi-1.5.1mt/linux32/pgi
###################################################################

Note the use of "-tp k8-32" flag for building 32bit version. Similarly,
for 64bit we use "-tp k8-64" flag with same behaviour. If compiling, the
following error happens:

###################################################################
gmake[2]: Entering directory
`/....../home/..../OpenMPI/openmpi-1.5.1_linux32_pgi/opal'
   CCLD libopen-pal.la
.........
pgcc-Fatal-Switch -tp must have a value
.........
gmake[2]: *** [libopen-pal.la] Error 2
gmake[2]: Leaving directory
`/....../home/..../OpenMPI/openmpi-1.5.1_linux32_pgi/opal'
###################################################################

Looking to the underlying real command line which was called you will
see the "k8-32" part of the LDFLAGS option being lost:

/....../home/..../OpenMPI/openmpi-1.5.1_linux32_pgi/opal
-shared -fpic -DPIC class/.libs/opal_bitmap.o
class/.libs/opal_free_list.o class/.libs/opal_hash_table.o
class/.libs/opal_list.o class/.libs/opal_object.o
class/.libs/opal_graph.o class/.libs/opal_atomic_lifo.o
class/.libs/opal_pointer_array.o class/.libs/opal_value_array.o
memoryhooks/.libs/memory.o runtime/.libs/opal_progress.o
runtime/.libs/opal_finalize.o runtime/.libs/opal_init.o
runtime/.libs/opal_params.o runtime/.libs/opal_cr.o
threads/.libs/condition.o threads/.libs/mutex.o threads/.libs/thread.o
threads/.libs/tsd.o dss/.libs/dss_internal_functions.o
dss/.libs/dss_compare.o dss/.libs/dss_copy.o dss/.libs/dss_dump.o
dss/.libs/dss_get.o dss/.libs/dss_load_unload.o dss/.libs/dss_lookup.o
dss/.libs/dss_pack.o dss/.libs/dss_peek.o dss/.libs/dss_print.o
dss/.libs/dss_register.o dss/.libs/dss_release.o dss/.libs/dss_set.o
dss/.libs/dss_set_buffer_type.o dss/.libs/dss_size.o
dss/.libs/dss_unpack.o dss/.libs/dss_open_close.o
-Wl,--whole-archive,../opal/libltdl/.libs/libltdlc.a,asm/.libs/libasm.a,datatype/.libs/libdatatype.a,event/.libs/libevent.a,mca/base/.libs/libmca_base.a,util/.libs/libopalutil.a,mca/backtrace/.libs/libmca_backtrace.a,mca/backtrace/execinfo/.libs/libmca_backtrace_execinfo.a,mca/carto/.libs/libmca_carto.a,mca/crs/.libs/libmca_crs.a,mca/installdirs/.libs/libmca_installdirs.a,mca/installdirs/config/.libs/libmca_installdirs_config.a,mca/installdirs/env/.libs/libmca_installdirs_env.a,mca/maffinity/.libs/libmca_maffinity.a,mca/memchecker/.libs/libmca_memchecker.a,mca/memcpy/.libs/libmca_memcpy.a,mca/memory/.libs/libmca_memory.a,mca/memory/ptmalloc2/.libs/libmca_memory_ptmalloc2.a,mca/paffinity/.libs/libmca_paffinity.a,mca/pstat/.libs/libmca_pstat.a,mca/sysinfo/.libs/libmca_sysinfo.a,mca/timer/.libs/libmca_timer.a,mca/timer/linux/.libs/libmca_timer_linux.a
-Wl,--no-whole-archive -ldl -lnsl -lutil -lpthread -lc -tp
                                                        ^^^^^^^^^^^^^
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib -tp
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/libso
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-64/10.9/lib
-Wl,-rpath=/....../PGI/PGI_10.9_CENTOS_64/linux86-32/10.9/lib
-Wl,-soname -Wl,libopen-pal.so.1 -o .libs/libopen-pal.so.1.0.0

Best wishes,

Paul

-- 
Dipl.-Inform. Paul Kapinos   -   High Performance Computing,
RWTH Aachen University, Center for Computing and Communication
Seffenter Weg 23,  D 52074  Aachen (Germany)
Tel: +49 241/80-24915