Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] OpenMPI 1.2.5 configure bug for POWERPC64 target
From: Swamy Kandadai (swamy_at_[hidden])
Date: 2008-02-23 12:45:39


I built on AIX on POWER pltform using the following build script and it

export OBJECT_MODE=64

 export CC=xlc_r
 export CXX=xlC_r
 export F77=xlf_r
 export FC=xlf90_r

 export CFLAGS="-qthreaded -O3 -qmaxmem=-1 -qarch=pwr5x -qtune=pwr5 -q64
 export CXXFLAGS="-qthreaded -O3 -qmaxmem=-1 -qarch=pwr5x -qtune=pwr5 -q64"
 export FFLAGS="-qthreaded -O3 -qmaxmem=-1 -qarch=pwr5x -qtune=pwr5 -q64"
 export FCFLAGS="-qthreaded -O3 -qmaxmem=-1 -qarch=pwr5x -qtune=pwr5 -q64"

 ./configure --prefix=/vol/swamy/OpenMPI/AIX --disable-shared
--enable-static LDFLAGS="-Wl,-brtl" --with-loadleveler=/usr/lpp/LoadL/full

Please give a try. My build is under


Dr. Swamy N. Kandadai
IBM Senior Certified Executive IT Specialist
HPC Benchmark Center
System & Technology Group, Poughkeepsie, NY
Phone:( 845) 433 -8429 (8-293) Fax:(845)432-9789

             Mathias PUETZ
             m> To
             Sent by: users_at_[hidden]
             users-bounces_at_ope cc
                                       [OMPI users] OpenMPI 1.2.5
             02/23/2008 10:05 configure bug for POWERPC64 target
             Please respond to
              Open MPI Users


I attempted to build OpenMPI-1.2.5 on a POWER5/AIX 5.3 platform.
I know this isn't officially supported, but I report the bug anyway
(otherwise it'll never get chance to be supported, right ?).

I started configure with

./configure CC="xlc -q64" CXX="xlc++ -q64" F77="xlf -q64" FC="xlf90 -q64"
NM="nm -X64" AR="ar -X64" --disable-shared --enable-static

to build with IBM XL compilers in 64 bit mode (-q64).

Configure completed to the end, however it printed the following status
about atomic operations in the config.log file:

configure:26189: checking for pre-built assembly file
configure:26206: result: no (not in asm-data)
configure:26214: checking whether possible to generate assembly file
configure:26219: perl /vol/ctt/mpuetz/openmpi-1.2.5
/opal/asm/ POWERPC64 aix-.csect .text[PR]-.globl-:-.-\
L--0-0-0-1-0 /vol/ctt/mpuetz/openmpi-1.2.5/opal/asm/base
s >conftest.out 2>&1
configure:26222: $? = 2
Could not open .text[PR]-.globl-:-.-L--0-0-0-1-0/POWERPC64.asm: No such
file or directory
configure:26232: result: failed
configure:26234: WARNING: Could not build atomic operations assembly file.
configure:26236: WARNING: There will be no atomic operations for this
configure:26254: checking for atomic assembly filename
configure:26257: result: none

Thus configure fails to find the
./opal/asm/generated/atomic-powerpc64-aix.s file
which is definitely present. In the end OpenMPI fails to build because of
atomic functions in the opal library.

I inspected the configure script for the test in "configure:26206: result:
no (not in asm-data)"
which is obviously failing:

    if grep "$ompi_cv_asm_arch" "${top_ompi_srcdir}/opal/asm/asm-data.txt"
| $FGREP "$ompi_cv_asm_format" >conftest.out\
 2>&1 ; then
        ompi_cv_asm_file="`cut -f3 conftest.out`"
        if test ! "$ompi_cv_asm_file" = "" ; then
            if test -f
"${top_ompi_srcdir}/opal/asm/generated/${ompi_cv_asm_file}" ; then
                { echo "$as_me:$LINENO: result: yes ($ompi_cv_asm_file)"
echo "${ECHO_T}yes ($ompi_cv_asm_file)" >&6; }
                { echo "$as_me:$LINENO: result: no ($ompi_cv_asm_file not
found)" >&5
echo "${ECHO_T}no ($ompi_cv_asm_file not found)" >&6; }
        { echo "$as_me:$LINENO: result: no (not in asm-data)" >&5
echo "${ECHO_T}no (not in asm-data)" >&6; }

ompi_cv_asm_arch has the value "POWERPC64".
The value determined earlier for ompi_cv_asm_format = "aix-.csect
This asm_format is not found in the standard asm-data.txt file which reads
for POWERPC64:

aix-.csect .text[PR]-.globl-:-.-L--0-1-0-1-0

By a single 1 that stands for align_log.

Then configure continues to make an attempt to generate an assembly file on
the fly,
This test is buggy in a single line:

ompi_try='$PERL $top_ompi_srcdir/opal/asm/ $ompi_cv_asm_arch
$ompi_cv_asm_format $top_ompi_srcdir/opal/asm/base $top_o\
mpi_builddir/opal/asm/generated/$ompi_cv_asm_file >conftest.out 2>&1'

where $ompi_cv_asm_format should be enclosed in double quotes "",
because the format string may contain a blanks (at least in the AIX case it
Hence all tests fail, no atomic asm source code is generated and the whole
build fails.

1. Could you please fix the bug above in the configure script ?

2. Could someone explain, why configure might determine a different
    than stated in the asm-data.txt database ?
    Maybe the meaning of the cryptic assmebler format string is explained
    If so, could someone point me to the explanation ?

Viele Grüsse / Best regards,
Mathias Pütz

Deep Computing - Strategic Growth Business
IBM Systems & Technology Group

e-mail: mpuetz_at_[hidden]
mobile: + 49-(0)160-7120602
fax: + 49-(0)6131-84-6660

 IBM Deutschland GmbH
 Department B513
 Hechtsheimer Str. 2 / Building 12
 55131 Mainz

IBM Deutschland GmbH
Vorsitzender des Aufsichtsrats: Hans Ulrich Maerki
Geschäftsführung: Martin Jetter (Vorsitzender), Christian Diedrich,
Christoph Grandpierre, Matthias Hartmann, Thomas Fell, Michael Diemer
Sitz der Gesellschaft: Stuttgart
Registergericht: Amtsgericht Stuttgart, HRB 14562 WEEE-Reg.-Nr. DE 99369940
users mailing list