Jeff, currently, ompi master cannot be built if configured with --without-hwloc *and without* --without-libfabric.
the root cause is HAVE_CONFIG_H is defined but no config.h file is found. i digged a bit and found that config.h is taken from a hwloc directory (if the --without-hwloc option is not used), so even if this "works" that is unlikely the expected behaviour. the attached patch fixes some missing #ifdef two workarounds are (after configure) 1) after configure, manually touch $top_builddir/opal/mca/common/libfabric/config.h 2) manually hack $top_builddir/opal/mca/common/libfabric/Makefile and replace DEFS = -DHAVE_CONFIG_H with DEFS = my last (cosmetic) comment is about $srcdir/opal/mca/common/libfabric/Makefile.in (and several other Makefile.in) : CONFIG_HEADER = $(top_builddir)/opal/include/opal_config.h \ $(top_builddir)/ompi/include/mpi.h \ $(top_builddir)/oshmem/include/shmem.h \ $(top_builddir)/opal/mca/hwloc/hwloc191/hwloc/include/private/autogen/config.h \ $(top_builddir)/opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen/config.h the last two files do not exist when ompi is configured with --without-hwloc, is there any way to have them excluded from Makefile by configure ? Cheers, Gilles
diff --git a/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/libnl_utils_common.c b/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/libnl_utils_common.c index c38a817..fe1e509 100644 --- a/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/libnl_utils_common.c +++ b/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/libnl_utils_common.c @@ -39,7 +39,9 @@ * * */ +#ifdef HAVE_CONFIG_H #include "config.h" +#endif /* HAVE_CONFIG_H */ #include <errno.h> #include <arpa/inet.h> diff --git a/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/usnic_ip_utils.c b/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/usnic_ip_utils.c index 815417f..d1727dd 100644 --- a/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/usnic_ip_utils.c +++ b/opal/mca/common/libfabric/libfabric/prov/usnic/src/usnic_direct/usnic_ip_utils.c @@ -39,7 +39,9 @@ * * */ +#ifdef HAVE_CONFIG_H #include "config.h" +#endif /* HAVE_CONFIG_H */ #include <stdlib.h> #include <stdio.h>