Hi,
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
--prefix=/usr/local/openmpi
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/generate-asm.pl
POWERPC64 aix-.csect .text[PR]-.globl-:-.-\
L--0-0-0-1-0 /vol/ctt/mpuetz/openmpi-1.2.5/opal/asm/base
/vol/ctt/mpuetz/openmpi-1.2.5/opal/asm/generated/atomic-local.\
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 build.
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 missing
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
ompi_cv_asm_file="atomic-${ompi_cv_asm_file}.s"
if test -f "${top_ompi_srcdir}/opal/asm/generated/${ompi_cv_asm_file}"
; then
{ echo "$as_me:$LINENO: result: yes ($ompi_cv_asm_file)"
>&5
echo "${ECHO_T}yes ($ompi_cv_asm_file)"
>&6; }
else
{ echo "$as_me:$LINENO: result: no ($ompi_cv_asm_file
not found)" >&5
echo "${ECHO_T}no ($ompi_cv_asm_file
not found)" >&6; }
ompi_cv_asm_file=""
fi
fi
else
{ echo "$as_me:$LINENO:
result: no (not in asm-data)" >&5
echo "${ECHO_T}no (not in asm-data)"
>&6; }
fi
ompi_cv_asm_arch has the value "POWERPC64".
The value determined earlier for ompi_cv_asm_format
= "aix-.csect .text[PR]-.globl-:-.-L--0-0-0-1-0".
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/generate-asm.pl
$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 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 ompi_cv_asm_format
than stated in the asm-data.txt
database ?
Maybe the meaning of the
cryptic assmebler format string is explained somewhere.
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@de.ibm.com
mobile: + 49-(0)160-7120602
fax: + 49-(0)6131-84-6660
Anschrift:
IBM Deutschland GmbH
Department B513
Hechtsheimer Str. 2 / Building 12
55131 Mainz
Germany
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