Dear Open MPI and ROMIO developer,

We use Open MPI v.1.6.x and 1.8.x in our cluster.
We have Lustre file system; we wish to use MPI_IO.
So the OpenMPI's are compiled with this flag:
> --with-io-romio-flags='--with-file-system=testfs+ufs+nfs+lustre'

In our newest installation openmpi/1.8.3 we found that MPI_IO is *broken*.

Short seek for root of the evil bring the following to light:

- the ROMIO component 'MCA io: romio' isn't here at all in the affected version, because

- configure of ROMIO has *failed* (cf. logs (a,b,c).
- because lustre_user.h was found but could not be compiled.


In our system, there are two lustre_user.h available:
$ locate lustre_user.h
/usr/include/linux/lustre_user.h
/usr/include/lustre/lustre_user.h
As I'm not very convinient with lustre, I just attach both of them.

pk224850@cluster:~[509]$ uname -a
Linux cluster.rz.RWTH-Aachen.DE 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 13:45:55 CDT 2014 x86_64 x86_64 x86_64 GNU/Linux

pk224850@cluster:~[510]$ cat /etc/issue
Scientific Linux release 6.5 (Carbon)

Note that openmpi/1.8.1 seem to be fully OK (MPI_IO works) in our environment.

Best

Paul Kapinos

P.S. Is there a confugure flag, which will enforce ROMIO? That is when ROMIO not available, configure would fail. This would make such hidden errors publique at installation time..






a) Log in Open MPI's config.log:
------------------------------------------------------------------------------
configure:226781: OMPI configuring in ompi/mca/io/romio/romio
configure:226866: running /bin/sh './configure' --with-file-system=testfs+ufs+nfs+lustre FROM_OMPI=yes CC="icc -std=c99" CFLAGS="-DNDEBUG -O3 -ip -axAVX,SSE4.2,SSE4.1 -fp-model fast=2 -m64 -finline-functions -fno-strict-aliasing -restrict -fexceptions -Qoption,cpp,--extended_float_types -pthread" CPPFLAGS=" -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/hwloc/hwloc172/hwloc/include -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/event/libevent2021/libevent -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/event/libevent2021/libevent/include" FFLAGS="-O3 -ip -axAVX,SSE4.2,SSE4.1 -fp-model fast=2 -m64 " LDFLAGS="-O3 -ip -axAVX,SSE4.2,SSE4.1 -fp-model fast=2 -m64 -fexceptions " --enable-shared --disable-static --with-file-system=testfs+ufs+nfs+lustre --prefix=/opt/MPI/openmpi-1.8.3/linux/intel --disable-aio --cache-file=/dev/null --srcdir=. --disable-option-checking
configure:226876: /bin/sh './configure' *failed* for ompi/mca/io/romio/romio
configure:226911: WARNING: ROMIO distribution did not configure successfully
configure:227425: checking if MCA component io:romio can compile
configure:227427: result: no
------------------------------------------------------------------------------



b) dump of Open MPI's 'configure' output to the console:
------------------------------------------------------------------------------
checking lustre/lustre_user.h usability... no
checking lustre/lustre_user.h presence... yes
configure: WARNING: lustre/lustre_user.h: present but cannot be compiled
configure: WARNING: lustre/lustre_user.h: check for missing prerequisite headers?
configure: WARNING: lustre/lustre_user.h: see the Autoconf documentation
configure: WARNING: lustre/lustre_user.h: section "Present But Cannot Be Compiled"
configure: WARNING: lustre/lustre_user.h: proceeding with the compiler's result
configure: WARNING:     ## -------------------------------- ##
configure: WARNING:     ## Report this to disc...@mpich.org ##
configure: WARNING:     ## -------------------------------- ##
checking for lustre/lustre_user.h... no
configure: error: LUSTRE support requested but cannot find lustre/lustre_user.h header file
configure: /bin/sh './configure' *failed* for ompi/mca/io/romio/romio
configure: WARNING: ROMIO distribution did not configure successfully
checking if MCA component io:romio can compile... no
------------------------------------------------------------------------------

c) ompi/mca/io/romio/romio's config.log:
------------------------------------------------------------------------------
configure:20962: checking lustre/lustre_user.h usability
configure:20962: icc -std=c99 -c -DNDEBUG -O3 -ip -axAVX,SSE4.2,SSE4.1 -fp-model fast=2 -m64 -finline-functions -fno-strict-aliasing -restrict -fexceptions -Qoption,cpp,--extended_float_types -pthread -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/hwloc/hwloc172/hwloc/include -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/event/libevent2021/libevent -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/event/libevent2021/libevent/include conftest.c >&5
/usr/include/sys/quota.h(221): error: identifier "caddr_t" is undefined
                     caddr_t __addr) __THROW;
                     ^

compilation aborted for conftest.c (code 2)
configure:20962: $? = 2
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "ROMIO"
| #define PACKAGE_TARNAME "romio"
| #define PACKAGE_VERSION "Open MPI"
| #define PACKAGE_STRING "ROMIO Open MPI"
| #define PACKAGE_BUGREPORT "disc...@mpich.org"
| #define PACKAGE_URL "http://www.mpich.org/";
| #define PACKAGE "romio"
| #define VERSION "Open MPI"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_MPI_OFFSET 1
| #define HAVE_MEMALIGN 1
| #define HAVE_UNISTD_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_MALLOC_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_SYS_TYPES_H 1
| #define u_char unsigned char
| #define u_short unsigned short
| #define u_int unsigned int
| #define u_long unsigned long
| #define SIZEOF_INT 4
| #define SIZEOF_VOID_P 8
| #define INT_LT_POINTER 1
| #define HAVE_INT_LT_POINTER 1
| #define SIZEOF_LONG_LONG 8
| #define HAVE_LONG_LONG_64 1
| #define HAVE_MPI_LONG_LONG_INT 1
| #define HAVE_MPI_INFO 1
| #define ROMIO_NFS 1
| #define ROMIO_UFS 1
| #define ROMIO_TESTFS 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <lustre/lustre_user.h>
configure:20962: result: no
configure:20962: checking lustre/lustre_user.h presence
configure:20962: icc -std=c99 -E -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/hwloc/hwloc172/hwloc/include -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/event/libevent2021/libevent -I/w0/tmp/pk224850/linuxc2_9713/openmpi-1.8.3_linux64_intel/opal/mca/event/libevent2021/libevent/include conftest.c
configure:20962: $? = 0
configure:20962: result: yes
configure:20962: WARNING: lustre/lustre_user.h: present but cannot be compiled
configure:20962: WARNING: lustre/lustre_user.h: check for missing prerequisite headers?
configure:20962: WARNING: lustre/lustre_user.h: see the Autoconf documentation
configure:20962: WARNING: lustre/lustre_user.h: section "Present But Cannot Be Compiled" configure:20962: WARNING: lustre/lustre_user.h: proceeding with the compiler's result
configure:20962: checking for lustre/lustre_user.h
configure:20962: result: no
configure:20971: error: LUSTRE support requested but cannot find lustre/lustre_user.h header file
------------------------------------------------------------------------------




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

Attachment: lustre_user.h.tgz
Description: application/compressed-tar

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to