Hi Rob Following up on this: I cannot find any reference to XOPEN_SOURCE in our included ROMIO source for Lustre. I only found one reference anywhere in ROMIO:
romio/adio/ad_xfs/ad_xfs.h:11:#define _XOPEN_SOURCE 500 Any other suggestions on what could be causing the problem? Thanks Ralph > On Oct 28, 2014, at 7:32 AM, Rob Latham <r...@mcs.anl.gov> wrote: > > > > 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 > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/10/16109.php