Thanks David,

i made a PR for the v1.8 branch at https://github.com/open-mpi/ompi-release/pull/492

the patch is attached (it required some back-porting)

Cheers,

Gilles

On 8/12/2015 4:01 AM, David Shrader wrote:
I have cloned Gilles' topic/hcoll_config branch and, after running autogen.pl, have found that './configure --with-hcoll' does indeed work now. I used Gilles' branch as I wasn't sure how best to get the pull request changes in to my own clone of master. It looks like the proper checks are happening, too:

Konsole output
--- MCA component coll:hcoll(m4 configuration macro)
checking for MCA component coll:hcollcompile mode... dso
checking --with-hcollvalue... simple ok (unspecified)
checking hcoll/api/hcoll_api.h usability... yes
checking hcoll/api/hcoll_api.h presence... yes
checking for hcoll/api/hcoll_api.h... yes
looking for library without search path
checking for library containing hcoll_get_version... -lhcoll
checking if MCA component coll:hcollcan compile... yes

I haven't checked whether or not Open MPI builds successfully as I don't have much experience running off of the latest source. For now, I think I will try to generate a patch to the 1.8.8 configure script and see if that works as expected.

Thanks,
David

On 08/11/2015 06:34 AM, Jeff Squyres (jsquyres) wrote:
On Aug 11, 2015, at 1:39 AM, Åke Sandgren<ake.sandg...@hpc2n.umu.se>  wrote:
Please fix the hcoll test (and code) to be correct.

Any configure test that adds /usr/lib and/or /usr/include to any compile flags 
is broken.
+1

Gilles filedhttps://github.com/open-mpi/ompi/pull/796; I just added some 
comments to it.


--
David Shrader
HPC-3 High Performance Computer Systems
Los Alamos National Lab
Email: dshrader <at> lanl.gov


_______________________________________________
users mailing list
us...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post: 
http://www.open-mpi.org/community/lists/users/2015/08/27432.php

diff --git a/config/ompi_check_libfca.m4 b/config/ompi_check_libfca.m4
index 715b0c7..62f697f 100644
--- a/config/ompi_check_libfca.m4
+++ b/config/ompi_check_libfca.m4
@@ -24,41 +24,37 @@ AC_DEFUN([OMPI_CHECK_FCA],[
     OMPI_CHECK_WITHDIR([fca], [$with_fca], [lib/libfca.so])

     AS_IF([test "$with_fca" != "no"],
-          [AS_IF([test ! -z "$with_fca" -a "$with_fca" != "yes"],
-                         [ompi_check_fca_dir=$with_fca
-                          ompi_check_fca_libdir="$ompi_check_fca_dir/lib"
-                          ompi_check_fca_incdir="$ompi_check_fca_dir/include"
-                          ompi_check_fca_libs=fca
+          [ompi_check_fca_libs=fca
+           AS_IF([test ! -z "$with_fca" && test "$with_fca" != "yes"],
+                 [ompi_check_fca_dir=$with_fca
+                  ompi_check_fca_libdir="$ompi_check_fca_dir/lib"
+                  ompi_check_fca_incdir="$ompi_check_fca_dir/include"
+                  AC_SUBST([coll_fca_HOME], "$ompi_check_fca_dir")],
+                 [AC_SUBST([coll_fca_HOME], "/")])

-                          
coll_fca_extra_CPPFLAGS="-I$ompi_check_fca_incdir/fca 
-I$ompi_check_fca_incdir/fca_core"
-                          AC_SUBST([coll_fca_extra_CPPFLAGS])
-                          AC_SUBST([coll_fca_HOME], "$ompi_check_fca_dir")
+           CPPFLAGS_save=$CPPFLAGS
+           LDFLAGS_save=$LDFLAGS
+           LIBS_save=$LIBS

-                          CPPFLAGS_save=$CPPFLAGS
-                          LDFLAGS_save=$LDFLAGS
-                          LIBS_save=$LIBS
-                          CPPFLAGS="$CPPFLAGS $coll_fca_extra_CPPFLAGS"

+           OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
+           OPAL_LOG_MSG([$1_LDFLAGS  : $$1_LDFLAGS], 1)
+           OPAL_LOG_MSG([$1_LIBS     : $$1_LIBS], 1)

-                          OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
-                          OPAL_LOG_MSG([$1_LDFLAGS  : $$1_LDFLAGS], 1)
-                          OPAL_LOG_MSG([$1_LIBS     : $$1_LIBS], 1)
+           OMPI_CHECK_PACKAGE([$1],
+                              [fca/fca_api.h],
+                              [$ompi_check_fca_libs],
+                              [fca_get_version],
+                              [],
+                              [$ompi_check_fca_dir],
+                              [$ompi_check_fca_libdir],
+                              [ompi_check_fca_happy="yes"],
+                              [ompi_check_fca_happy="no"])

-                          OMPI_CHECK_PACKAGE([$1],
-                                  [fca_api.h],
-                                  [$ompi_check_fca_libs],
-                                  [fca_get_version],
-                                  [],
-                                  [$ompi_check_fca_dir],
-                                  [$ompi_check_fca_libdir],
-                                  [ompi_check_fca_happy="yes"],
-                                  [ompi_check_fca_happy="no"])
-
-                          CPPFLAGS=$CPPFLAGS_save
-                          LDFLAGS=$LDFLAGS_save
-                          LIBS=$LIBS_save],
-                          [ompi_check_fca_happy="no"])
-          ])
+           CPPFLAGS=$CPPFLAGS_save
+           LDFLAGS=$LDFLAGS_save
+           LIBS=$LIBS_save],
+          [ompi_check_fca_happy="no"])

     AS_IF([test "$ompi_check_fca_happy" = "yes" -a "$enable_progress_threads" 
= "yes"],
           [AC_MSG_WARN([fca driver does not currently support progress 
threads.  Disabling FCA.])
diff --git a/config/ompi_check_libhcoll.m4 b/config/ompi_check_libhcoll.m4
index b63ae0e..6da5860 100644
--- a/config/ompi_check_libhcoll.m4
+++ b/config/ompi_check_libhcoll.m4
@@ -23,44 +23,34 @@ AC_DEFUN([OMPI_CHECK_HCOLL],[
     OMPI_CHECK_WITHDIR([hcoll], [$with_hcoll], [lib/libhcoll.so])

     AS_IF([test "$with_hcoll" != "no"],
-          [AS_IF([test ! -z "$with_hcoll" -a "$with_hcoll" != "yes"],
-                         [ompi_check_hcoll_dir=$with_hcoll
-                          ompi_check_hcoll_libdir="$ompi_check_hcoll_dir/lib"
-                          
ompi_check_hcoll_incdir="$ompi_check_hcoll_dir/include"
-                          ompi_check_hcoll_libs=hcoll
+          [ompi_check_hcoll_libs=hcoll
+           AS_IF([test ! -z "$with_hcoll" && test "$with_hcoll" != "yes"],
+                 [ompi_check_hcoll_dir=$with_hcoll
+                  ompi_check_hcoll_libdir="$ompi_check_hcoll_dir/lib"
+                  ompi_check_hcoll_incdir="$ompi_check_hcoll_dir/include"])

-                          
coll_hcoll_extra_CPPFLAGS="-I$ompi_check_hcoll_incdir/hcoll 
-I$ompi_check_hcoll_incdir/hcoll/api"
+           CPPFLAGS_save=$CPPFLAGS
+           LDFLAGS_save=$LDFLAGS
+           LIBS_save=$LIBS

-                          AC_SUBST([coll_hcoll_extra_CPPFLAGS])
-                          AC_SUBST([coll_hcoll_HOME], "$ompi_check_hcoll_dir")
-
-
-                          CPPFLAGS_save=$CPPFLAGS
-                          LDFLAGS_save=$LDFLAGS
-                          LIBS_save=$LIBS
-                          CPPFLAGS="$CPPFLAGS $coll_hcoll_extra_CPPFLAGS"
-
-                          OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
-                          OPAL_LOG_MSG([$1_LDFLAGS  : $$1_LDFLAGS], 1)
-                          OPAL_LOG_MSG([$1_LIBS     : $$1_LIBS], 1)
-
-                          OMPI_CHECK_PACKAGE([$1],
-                                  [hcoll_api.h],
-                                  [$ompi_check_hcoll_libs],
-                                  [hcoll_get_version],
-                                  [],
-                                  [$ompi_check_hcoll_dir],
-                                  [$ompi_check_hcoll_libdir],
-                                  [ompi_check_hcoll_happy="yes"],
-                                  [ompi_check_hcoll_happy="no"])
-
-                          CPPFLAGS=$CPPFLAGS_save
-                          LDFLAGS=$LDFLAGS_save
-                          LIBS=$LIBS_save],
-                          [ompi_check_hcoll_happy="no"])
-          ])
+           OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
+           OPAL_LOG_MSG([$1_LDFLAGS  : $$1_LDFLAGS], 1)
+           OPAL_LOG_MSG([$1_LIBS     : $$1_LIBS], 1)

+           OMPI_CHECK_PACKAGE([$1],
+                              [hcoll/api/hcoll_api.h],
+                              [$ompi_check_hcoll_libs],
+                              [hcoll_get_version],
+                              [],
+                              [$ompi_check_hcoll_dir],
+                              [$ompi_check_hcoll_libdir],
+                              [ompi_check_hcoll_happy="yes"],
+                              [ompi_check_hcoll_happy="no"])

+           CPPFLAGS=$CPPFLAGS_save
+           LDFLAGS=$LDFLAGS_save
+           LIBS=$LIBS_save],
+          [ompi_check_hcoll_happy=no])

     AS_IF([test "$ompi_check_hcoll_happy" = "yes" -a 
"$enable_progress_threads" = "yes"],
           [AC_MSG_WARN([hcoll driver does not currently support progress 
threads.  Disabling HCOLL.])
diff --git a/ompi/mca/coll/fca/coll_fca_api.h b/ompi/mca/coll/fca/coll_fca_api.h
index a16f7b5..705c9ec 100644
--- a/ompi/mca/coll/fca/coll_fca_api.h
+++ b/ompi/mca/coll/fca/coll_fca_api.h
@@ -1,5 +1,7 @@
 /**
-  Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+  Copyright (c) 2011      Mellanox Technologies. All rights reserved.
+  Copyright (c) 2015      Research Organization for Information Science
+                          and Technology (RIST). All rights reserved.
   $COPYRIGHT$

   Additional copyrights may follow
@@ -9,8 +11,8 @@

 #include "ompi_config.h"

-#include <fca_api.h>
-#include <config/fca_parse_specfile.h>
+#include <fca/fca_api.h>
+#include <fca/config/fca_parse_specfile.h>

 #ifndef FCA_API
 #define OMPI_FCA_VERSION 12
diff --git a/ompi/mca/coll/hcoll/Makefile.am b/ompi/mca/coll/hcoll/Makefile.am
index a0aa86a..dafa2b3 100644
--- a/ompi/mca/coll/hcoll/Makefile.am
+++ b/ompi/mca/coll/hcoll/Makefile.am
@@ -2,7 +2,8 @@
 #
 #
 # Copyright (c) 2011 Mellanox Technologies. All rights reserved.
-# Copyright (c) 2013 Cisco Systems, Inc.  All rights reserved.
+# Copyright (c) 2015      Research Organization for Information Science
+#                         and Technology (RIST). All rights reserved.
 # $COPYRIGHT$
 #
 # Additional copyrights may follow
@@ -11,7 +12,7 @@
 #
 #

-AM_CPPFLAGS = $(coll_hcoll_CPPFLAGS) -DCOLL_HCOLL_HOME=\"$(coll_hcoll_HOME)\" 
$(coll_hcoll_extra_CPPFLAGS)
+AM_CPPFLAGS = $(coll_hcoll_CPPFLAGS)

 coll_hcoll_sources = \
                coll_hcoll.h \
diff --git a/ompi/mca/coll/hcoll/coll_hcoll.h b/ompi/mca/coll/hcoll/coll_hcoll.h
index 5325bd7..fd735a6 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll.h
+++ b/ompi/mca/coll/hcoll/coll_hcoll.h
@@ -1,5 +1,7 @@
 /**
-  Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+  Copyright (c) 2011      Mellanox Technologies. All rights reserved.
+  Copyright (c) 2015      Research Organization for Information Science
+                          and Technology (RIST). All rights reserved.
   $COPYRIGHT$

   Additional copyrights may follow
@@ -23,8 +25,8 @@
 #include "ompi/attribute/attribute.h"
 #include "ompi/op/op.h"

-#include "hcoll_api.h"
-#include "hcoll_constants.h"
+#include "hcoll/api/hcoll_api.h"
+#include "hcoll/api/hcoll_constants.h"


 #include "coll_hcoll_debug.h"
diff --git a/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h 
b/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
index c1c83aa..a578bc9 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
+++ b/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
@@ -7,7 +7,7 @@

 #include "ompi/datatype/ompi_datatype.h"
 #include "ompi/mca/op/op.h"
-#include "hcoll_dte.h"
+#include "hcoll/api/hcoll_dte.h"

 /*to keep this at hand: Ids of the basic opal_datatypes:
 #define OPAL_DATATYPE_INT1           4
diff --git a/ompi/mca/coll/hcoll/coll_hcoll_ops.c 
b/ompi/mca/coll/hcoll/coll_hcoll_ops.c
index 1867125..f893141 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll_ops.c
+++ b/ompi/mca/coll/hcoll/coll_hcoll_ops.c
@@ -1,5 +1,7 @@
 /**
-  Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+  Copyright (c) 2011      Mellanox Technologies. All rights reserved.
+  Copyright (c) 2015      Research Organization for Information Science
+                          and Technology (RIST). All rights reserved.
   $COPYRIGHT$

   Additional copyrights may follow
@@ -10,9 +12,9 @@
 #include "ompi_config.h"
 #include "ompi/constants.h"
 #include "coll_hcoll.h"
-#include "hcoll_constants.h"
+#include "hcoll/api/hcoll_constants.h"
 #include "coll_hcoll_dtypes.h"
-#include "hcoll_dte.h"
+#include "hcoll/api/hcoll_dte.h"
 int mca_coll_hcoll_barrier(struct ompi_communicator_t *comm,
                          mca_coll_base_module_t *module){
     int rc;
diff --git a/ompi/mca/coll/hcoll/coll_hcoll_rte.c 
b/ompi/mca/coll/hcoll/coll_hcoll_rte.c
index b571858..69ecc6b 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll_rte.c
+++ b/ompi/mca/coll/hcoll/coll_hcoll_rte.c
@@ -4,6 +4,8 @@
  * Copyright (c) 2013      The University of Tennessee and The University
  *                         of Tennessee Research Foundation.  All rights
  *                         reserved.
+ * Copyright (c) 2015      Research Organization for Information Science
+ *                         and Technology (RIST). All rights reserved.
  * $COPYRIGHT$
  *
  * Additional copyrights may follow
@@ -36,9 +38,9 @@
 #include "ompi/mca/pml/pml.h"


-#include "hcoll_dte.h"
-#include "hcoll_api.h"
-#include "hcoll_constants.h"
+#include "hcoll/api/hcoll_dte.h"
+#include "hcoll/api/hcoll_api.h"
+#include "hcoll/api/hcoll_constants.h"
 /*
  * Local functions
  */
diff --git a/ompi/mca/coll/hcoll/configure.m4 b/ompi/mca/coll/hcoll/configure.m4
index 4fc0f5b..ff74990 100644
--- a/ompi/mca/coll/hcoll/configure.m4
+++ b/ompi/mca/coll/hcoll/configure.m4
@@ -1,8 +1,10 @@
 # -*- shell-script -*-
 #
 #
-# Copyright (c) 2011 Mellanox Technologies. All rights reserved.
-# Copyright (c) 2013 Cisco Systems, Inc.  All rights reserved.
+# Copyright (c) 2011      Mellanox Technologies. All rights reserved.
+# Copyright (c) 2013      Cisco Systems, Inc.  All rights reserved.
+# Copyright (c) 2015      Research Organization for Information Science
+#                         and Technology (RIST). All rights reserved.
 # $COPYRIGHT$
 #
 # Additional copyrights may follow
@@ -24,7 +26,6 @@ AC_DEFUN([MCA_ompi_coll_hcoll_CONFIG],[
     AS_IF([test "$coll_hcoll_happy" = "yes"],
           [coll_hcoll_WRAPPER_EXTRA_LDFLAGS="$coll_hcoll_LDFLAGS"
            coll_hcoll_CPPFLAGS="$coll_hcoll_CPPFLAGS"
-           coll_hcoll_WRAPPER_EXTRA_CPPFLAGS="$coll_hcoll_CPPFLAGS"
            coll_hcoll_WRAPPER_EXTRA_LIBS="$coll_hcoll_LIBS"
            $1],
           [$2])
diff --git a/oshmem/mca/scoll/fca/configure.m4 
b/oshmem/mca/scoll/fca/configure.m4
index d585547..683dafa 100644
--- a/oshmem/mca/scoll/fca/configure.m4
+++ b/oshmem/mca/scoll/fca/configure.m4
@@ -3,6 +3,8 @@
 #
 # Copyright (c) 2013      Mellanox Technologies, Inc.
 #                         All rights reserved.
+# Copyright (c) 2015      Research Organization for Information Science
+#                         and Technology (RIST). All rights reserved.
 # $COPYRIGHT$
 #
 # Additional copyrights may follow
@@ -24,7 +26,6 @@ AC_DEFUN([MCA_oshmem_scoll_fca_CONFIG],[
     AS_IF([test "$scoll_fca_happy" = "yes"],
           [scoll_fca_WRAPPER_EXTRA_LDFLAGS="$scoll_fca_LDFLAGS"
            scoll_fca_CPPFLAGS="$scoll_fca_CPPFLAGS"
-           scoll_fca_WRAPPER_EXTRA_CPPFLAGS="$scoll_fca_CPPFLAGS"
            scoll_fca_WRAPPER_EXTRA_LIBS="$scoll_fca_LIBS"
            $1],
           [$2])
diff --git a/oshmem/mca/scoll/fca/scoll_fca_api.h 
b/oshmem/mca/scoll/fca/scoll_fca_api.h
index 3ed0c75..48742d9 100644
--- a/oshmem/mca/scoll/fca/scoll_fca_api.h
+++ b/oshmem/mca/scoll/fca/scoll_fca_api.h
@@ -1,6 +1,8 @@
 /*
  * Copyright (c) 2013      Mellanox Technologies, Inc.
  *                         All rights reserved.
+ * Copyright (c) 2015      Research Organization for Information Science
+ *                         and Technology (RIST). All rights reserved.
  * $COPYRIGHT$
  *
  * Additional copyrights may follow
@@ -9,9 +11,9 @@
  */
 #include "oshmem_config.h"

-#include <fca_api.h>
-#include <fca_version.h>
-#include <config/fca_parse_specfile.h>
+#include <fca/fca_api.h>
+#include <fca/fca_version.h>
+#include <fca/config/fca_parse_specfile.h>

 #ifndef FCA_API
 #define OSHMEM_FCA_VERSION 12

Reply via email to