Hi All,
I'm compiling HDF5.1.8.17 on an IBM power8 machine. The configure command is:
'CC="mpicc" CXX="mpiCC" FC="mpifort" F90="mpif90" F77="mpif77" CFLAGS="-O0" CXXFLAGS=" -DMPICH_IGNORE_CXX_SEEK" F90FLAGS=" " FFLAGS=" " ./configure --prefix=/prod/acs/prod/IRIS/POWER8/xl-13.1.3/serial/external/hdf5/1.8.17 --with-zlib --disable-shared --enable-fortran --enable-parallel --enable-linux-lfs --enable-production --enable-static'
Summary from the configure output:
SUMMARY OF THE HDF5 CONFIGURATION
···
=================================
General Information:
-------------------
HDF5 Version: 1.8.17
Configured on: Thu Aug 4 09:18:16 BST 2016
Configured by: usid@machine.awe.co.uk
Configure mode: production
Host system: powerpc64le-unknown-linux-gnu
Uname information: Linux machine.awe.co.uk 3.10.0-327.el7.ppc64le #1 SMP Thu Oct 29 17:31:13 EDT 2015 ppc64le ppc64le ppc64le GNU/Linux
Byte sex: little-endian
Libraries: static
Installation point: /prod/acs/prod/IRIS/POWER8/xl-13.1.3/serial/external/hdf5/1.8.17
Compiling Options:
------------------
Compilation Mode: production
C Compiler: /prod/acs/openmpi/xl/1.10.2/bin/mpicc ( IBM XL C/C++ 13.01.0003.0000)
CFLAGS: -O0
H5_CFLAGS: -qlanglvl=stdc99 -qflag=w:w
AM_CFLAGS:
CPPFLAGS:
H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API
AM_CPPFLAGS:
Shared C Library: no
Static C Library: yes
Statically Linked Executables: no
LDFLAGS:
H5_LDFLAGS:
AM_LDFLAGS:
Extra libraries: -lz -ldl -lm
Archiver: ar
Ranlib: ranlib
Debugged Packages:
API Tracing: no
Languages:
----------
Fortran: yes
Fortran Compiler: /prod/acs/openmpi/xl/1.10.2/bin/mpifort ( IBM XL Fortran 15.01.0003.0000)
Fortran 2003 Compiler:
Fortran Flags:
H5 Fortran Flags:
AM Fortran Flags:
Shared Fortran Library: no
Static Fortran Library: yes
C++: no
Features:
---------
Parallel HDF5: yes
High Level library: yes
Threadsafety: no
Default API Mapping: v18
With Deprecated Public Symbols: yes
I/O filters (external): deflate(zlib)
MPE:
Direct VFD: no
dmalloc: no
Clear file buffers before write: yes
Using memory checker: no
Function Stack Tracing: no
Strict File Format Checks: no
Optimization Instrumentation: no
I copied the file ibm-flags to a file called "powerpc64le-unknown-linux-gnu" in the config directory.
For the following optimisation settings:
CFLAGS=""
CFLAGS="-O0"
CFLAGS="=-O0 -qarch=auto"
I'm getting a failure in the dt_arith check:
====================================================================================================
Testing hard unsigned short -> long double conversions PASSED
Testing hard int -> long double conversions PASSED
Testing hard unsigned int -> long double conversions PASSED
Testing hard long -> long double conversions *FAILED*
elmt 107:
src = 00 3f ff ff ff ff ff ff 18014398509481983
dst = 00 00 00 00 00 00 00 00 43 50 00 00 00 00 00 00 18014398509481984.000000
ans = bf f0 00 00 00 00 00 00 43 50 00 00 00 00 00 00 18014398509481983.000000
elmt 109:
src = 00 7f ff ff ff ff ff ff 36028797018963967
dst = 00 00 00 00 00 00 00 00 43 60 00 00 00 00 00 00 36028797018963968.000000
ans = bf f0 00 00 00 00 00 00 43 60 00 00 00 00 00 00 36028797018963967.000000
elmt 111:
src = 00 ff ff ff ff ff ff ff 72057594037927935
dst = 00 00 00 00 00 00 00 00 43 70 00 00 00 00 00 00 72057594037927936.000000
ans = bf f0 00 00 00 00 00 00 43 70 00 00 00 00 00 00 72057594037927935.000000
elmt 113:
src = 01 ff ff ff ff ff ff ff 144115188075855871
dst = 00 00 00 00 00 00 00 00 43 80 00 00 00 00 00 00 144115188075855872.000000
ans = bf f0 00 00 00 00 00 00 43 80 00 00 00 00 00 00 144115188075855871.000000
elmt 115:
src = 03 ff ff ff ff ff ff ff 288230376151711743
dst = 00 00 00 00 00 00 00 00 43 90 00 00 00 00 00 00 288230376151711744.000000
ans = bf f0 00 00 00 00 00 00 43 90 00 00 00 00 00 00 288230376151711743.000000
elmt 117:
src = 07 ff ff ff ff ff ff ff 576460752303423487
dst = 00 00 00 00 00 00 00 00 43 a0 00 00 00 00 00 00 576460752303423488.000000
ans = bf f0 00 00 00 00 00 00 43 a0 00 00 00 00 00 00 576460752303423487.000000
elmt 119:
src = 0f ff ff ff ff ff ff ff 1152921504606846975
dst = 00 00 00 00 00 00 00 00 43 b0 00 00 00 00 00 00 1152921504606846976.000000
ans = bf f0 00 00 00 00 00 00 43 b0 00 00 00 00 00 00 1152921504606846975.000000
elmt 121:
src = 1f ff ff ff ff ff ff ff 2305843009213693951
dst = 00 00 00 00 00 00 00 00 43 c0 00 00 00 00 00 00 2305843009213693952.000000
ans = bf f0 00 00 00 00 00 00 43 c0 00 00 00 00 00 00 2305843009213693951.000000
elmt 123:
src = 3f ff ff ff ff ff ff ff 4611686018427387903
dst = 00 00 00 00 00 00 00 00 43 d0 00 00 00 00 00 00 4611686018427387904.000000
ans = bf f0 00 00 00 00 00 00 43 d0 00 00 00 00 00 00 4611686018427387903.000000
elmt 125:
src = 7f ff ff ff ff ff ff ff 9223372036854775807
dst = 00 00 00 00 00 00 00 00 43 e0 00 00 00 00 00 00 9223372036854775808.000000
ans = bf f0 00 00 00 00 00 00 43 e0 00 00 00 00 00 00 9223372036854775807.000000
Testing hard unsigned long -> long double conversions *FAILED*
elmt 107:
src = 00 3f ff ff ff ff ff ff 18014398509481983
dst = 00 00 00 00 00 00 00 00 43 50 00 00 00 00 00 00 18014398509481984.000000
ans = bf f0 00 00 00 00 00 00 43 50 00 00 00 00 00 00 18014398509481983.000000
elmt 109:
src = 00 7f ff ff ff ff ff ff 36028797018963967
dst = 00 00 00 00 00 00 00 00 43 60 00 00 00 00 00 00 36028797018963968.000000
ans = bf f0 00 00 00 00 00 00 43 60 00 00 00 00 00 00 36028797018963967.000000
elmt 111:
src = 00 ff ff ff ff ff ff ff 72057594037927935
dst = 00 00 00 00 00 00 00 00 43 70 00 00 00 00 00 00 72057594037927936.000000
ans = bf f0 00 00 00 00 00 00 43 70 00 00 00 00 00 00 72057594037927935.000000
elmt 113:
src = 01 ff ff ff ff ff ff ff 144115188075855871
dst = 00 00 00 00 00 00 00 00 43 80 00 00 00 00 00 00 144115188075855872.000000
ans = bf f0 00 00 00 00 00 00 43 80 00 00 00 00 00 00 144115188075855871.000000
elmt 115:
src = 03 ff ff ff ff ff ff ff 288230376151711743
dst = 00 00 00 00 00 00 00 00 43 90 00 00 00 00 00 00 288230376151711744.000000
ans = bf f0 00 00 00 00 00 00 43 90 00 00 00 00 00 00 288230376151711743.000000
elmt 117:
src = 07 ff ff ff ff ff ff ff 576460752303423487
dst = 00 00 00 00 00 00 00 00 43 a0 00 00 00 00 00 00 576460752303423488.000000
ans = bf f0 00 00 00 00 00 00 43 a0 00 00 00 00 00 00 576460752303423487.000000
elmt 119:
src = 0f ff ff ff ff ff ff ff 1152921504606846975
dst = 00 00 00 00 00 00 00 00 43 b0 00 00 00 00 00 00 1152921504606846976.000000
ans = bf f0 00 00 00 00 00 00 43 b0 00 00 00 00 00 00 1152921504606846975.000000
elmt 121:
src = 1f ff ff ff ff ff ff ff 2305843009213693951
dst = 00 00 00 00 00 00 00 00 43 c0 00 00 00 00 00 00 2305843009213693952.000000
ans = bf f0 00 00 00 00 00 00 43 c0 00 00 00 00 00 00 2305843009213693951.000000
elmt 123:
src = 3f ff ff ff ff ff ff ff 4611686018427387903
dst = 00 00 00 00 00 00 00 00 43 d0 00 00 00 00 00 00 4611686018427387904.000000
ans = bf f0 00 00 00 00 00 00 43 d0 00 00 00 00 00 00 4611686018427387903.000000
elmt 125:
src = 7f ff ff ff ff ff ff ff 9223372036854775807
dst = 00 00 00 00 00 00 00 00 43 e0 00 00 00 00 00 00 9223372036854775808.000000
ans = bf f0 00 00 00 00 00 00 43 e0 00 00 00 00 00 00 9223372036854775807.000000
elmt 127:
src = ff ff ff ff ff ff ff ff 18446744073709551615
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = bf f0 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551615.000000
elmt 128:
src = ff ff ff ff ff ff ff ff 18446744073709551615
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = bf f0 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551615.000000
elmt 129:
src = ff ff ff ff ff ff ff fe 18446744073709551614
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551614.000000
elmt 130:
src = ff ff ff ff ff ff ff fc 18446744073709551612
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 10 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551612.000000
elmt 131:
src = ff ff ff ff ff ff ff f8 18446744073709551608
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 20 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551608.000000
elmt 132:
src = ff ff ff ff ff ff ff f0 18446744073709551600
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 30 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551600.000000
elmt 133:
src = ff ff ff ff ff ff ff e0 18446744073709551584
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 40 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551584.000000
elmt 134:
src = ff ff ff ff ff ff ff c0 18446744073709551552
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 50 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551552.000000
elmt 135:
src = ff ff ff ff ff ff ff 80 18446744073709551488
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 60 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551488.000000
elmt 136:
src = ff ff ff ff ff ff ff 00 18446744073709551360
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 70 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551360.000000
elmt 137:
src = ff ff ff ff ff ff fe 00 18446744073709551104
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 80 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551104.000000
elmt 138:
src = ff ff ff ff ff ff fc 00 18446744073709550592
dst = 00 00 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709551616.000000
ans = c0 90 00 00 00 00 00 00 43 f0 00 00 00 00 00 00 18446744073709550592.000000
Testing hard normalized float -> signed char conversions PASSED
Testing hard normalized double -> signed char conversions PASSED
Testing hard normalized float -> unsigned char conversions PASSED
For the following optimisation settings CFLGAS="-O2" and above, I get a similar error to above, except for it crashing after the first FAILED test:
Testing hard unsigned short -> long double conversions PASSED
Testing hard int -> long double conversions PASSED
Testing hard unsigned int -> long double conversions PASSED
Testing hard long -> long double conversions *FAILED*
elmt 107:
src = 00 3f ff ff ff ff ff ff 18014398509481983
dst = 00 00 00 00 00 00 00 00 43 50 00 00 00 00 00 00 18014398509481984.000000
ans = bf f0 00 00 00 00 00 00 43 50 00 00 00 00 00 00 18014398509481983.000000
elmt 109:
src = 00 7f ff ff ff ff ff ff 36028797018963967
dst = 00 00 00 00 00 00 00 00 43 60 00 00 00 00 00 00 36028797018963968.000000
ans = bf f0 00 00 00 00 00 00 43 60 00 00 00 00 00 00 36028797018963967.000000
elmt 111:
src = 00 ff ff ff ff ff ff ff 72057594037927935
dst = 00 00 00 00 00 00 00 00 43 70 00 00 00 00 00 00 72057594037927936.000000
ans = bf f0 00 00 00 00 00 00 43 70 00 00 00 00 00 00 72057594037927935.000000
elmt 113:
src = 01 ff ff ff ff ff ff ff 144115188075855871
dst = 00 00 00 00 00 00 00 00 43 80 00 00 00 00 00 00 144115188075855872.000000
ans = bf f0 00 00 00 00 00 00 43 80 00 00 00 00 00 00 144115188075855871.000000
elmt 115:
src = 03 ff ff ff ff ff ff ff 288230376151711743
dst = 00 00 00 00 00 00 00 00 43 90 00 00 00 00 00 00 288230376151711744.000000
ans = bf f0 00 00 00 00 00 00 43 90 00 00 00 00 00 00 288230376151711743.000000
elmt 117:
src = 07 ff ff ff ff ff ff ff 576460752303423487
dst = 00 00 00 00 00 00 00 00 43 a0 00 00 00 00 00 00 576460752303423488.000000
ans = bf f0 00 00 00 00 00 00 43 a0 00 00 00 00 00 00 576460752303423487.000000
elmt 119:
src = 0f ff ff ff ff ff ff ff 1152921504606846975
dst = 00 00 00 00 00 00 00 00 43 b0 00 00 00 00 00 00 1152921504606846976.000000
ans = bf f0 00 00 00 00 00 00 43 b0 00 00 00 00 00 00 1152921504606846975.000000
elmt 121:
src = 1f ff ff ff ff ff ff ff 2305843009213693951
dst = 00 00 00 00 00 00 00 00 43 c0 00 00 00 00 00 00 2305843009213693952.000000
ans = bf f0 00 00 00 00 00 00 43 c0 00 00 00 00 00 00 2305843009213693951.000000
elmt 123:
src = 3f ff ff ff ff ff ff ff 4611686018427387903
dst = 00 00 00 00 00 00 00 00 43 d0 00 00 00 00 00 00 4611686018427387904.000000
ans = bf f0 00 00 00 00 00 00 43 d0 00 00 00 00 00 00 4611686018427387903.000000
elmt 125:
src = 7f ff ff ff ff ff ff ff 9223372036854775807
dst = 00 00 00 00 00 00 00 00 43 e0 00 00 00 00 00 00 9223372036854775808.000000
ans = bf f0 00 00 00 00 00 00 43 e0 00 00 00 00 00 00 9223372036854775807.000000
Testing hard unsigned long -> long double conversions 0.07user 0.02system 0:009elapsed 98%CPU
(0avgtext+0avgdata 9984maxresident)k
0inputs+512outputs (0major+4007minor)pagefaults 0swaps
Make[4]: *** [dt_arith.chkexe_] Error 1
Testing dtypes
etc
etc.
Has anyone got any suggestions for a solution?
Kind regards,
Chris Nelson.
The information in this email and in any attachment(s) is
commercial in confidence. If you are not the named addressee(s)
or
if you receive this email in error then any distribution, copying or
use of this communication or the information in it is strictly
prohibited. Please notify us immediately by email at
admin.internet(at)awe.co.uk, and then delete this message from
your computer. While attachments are virus checked, AWE plc
does not accept any liability in respect of any virus which is not
detected.
AWE Plc
Registered in England and Wales
Registration No 02763902
AWE, Aldermaston, Reading, RG7 4PR