Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] OpenMPI 1.2.5 configure bug for POWERPC64 target
From: Mathias PUETZ (mpuetz_at_[hidden])
Date: 2008-02-23 10:05:23


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
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 does),
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