-------- Original Message -------- Subject: Re: [mpich-discuss] ROMIO+Lustre problems in OpenMPI 1.8.3 List-Post: devel@lists.open-mpi.org Date: Tue, 28 Oct 2014 09:32:29 -0500 From: Rob Latham <r...@mcs.anl.gov>To: <disc...@mpich.org>, Open MPI Developers <de...@open-mpi.org>, "Kapinos, Paul" <kapi...@itc.rwth-aachen.de>, "Göbbert, Jens Henrik" <goebb...@vr.rwth-aachen.de>
On 10/28/2014 06:00 AM, Paul Kapinos wrote:
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.
lustre_user.h cannot be compiled because quota defines won't compile. Ugh, what a mess. A while back I noticed this and fixed it by removing an XOPEN_SOURCE feature test macro: http://trac.mpich.org/projects/mpich/ticket/1973 Then, on solaris with --enable-strict we needed to put *back* the XOPEN_SOURCE macro or else pread and pwrite would be undefined. So what I really need to to is delete XOPEN_SOURCE since it causes such headaches, and on the rare platforms that only have pread/pwrite defined if you take extraordinary measures, if at all, I'll have a ROMIO pread and pwrite that simply do seek + write (or read). For now, please delete the XOPEN_SOURCE line at the very beginning of src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c ==rob
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 ------------------------------------------------------------------------------ _______________________________________________ discuss mailing list disc...@mpich.org To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
-- Rob Latham Mathematics and Computer Science Division Argonne National Lab, IL USA
smime.p7s
Description: S/MIME Cryptographic Signature