Hi Paul

The rank_file component should not attempt to build if --without-hwloc is given - I've fixed that now. Thanks for reporting it.

With that fix, I was able to build the trunk on Mac - testing Linux now. I haven't checked for the config.h confusion you report, though - just noting that it built.

On Tue, Feb 14, 2012 at 5:42 PM, Paul H. Hargrove <PHHargrove@lbl.gov> wrote:


On 2/14/2012 5:10 PM, Paul H. Hargrove wrote:
I have configured the ompi-trunk (from last night's tarball: 1.7a1r25913) with --without-hwloc.
Having done so, I see the following failure at build time:

 CC     rmaps_rank_file_component.lo
/home/hargrove/OMPI/openmpi-trunk-linux-mips64el//openmpi-trunk/orte/mca/rmaps/rank_file/rmaps_rank_file_compo
nent.c: In function 'orte_rmaps_rank_file_open':
/home/hargrove/OMPI/openmpi-trunk-linux-mips64el//openmpi-trunk/orte/mca/rmaps/rank_file/rmaps_rank_file_compo
nent.c:111: error: 'opal_hwloc_binding_policy' undeclared (first use in this function)
/home/hargrove/OMPI/openmpi-trunk-linux-mips64el//openmpi-trunk/orte/mca/rmaps/rank_file/rmaps_rank_file_compo
nent.c:111: error: (Each undeclared identifier is reported only once
/home/hargrove/OMPI/openmpi-trunk-linux-mips64el//openmpi-trunk/orte/mca/rmaps/rank_file/rmaps_rank_file_compo
nent.c:111: error: for each function it appears in.)
/home/hargrove/OMPI/openmpi-trunk-linux-mips64el//openmpi-trunk/orte/mca/rmaps/rank_file/rmaps_rank_file_component.c:111: error: 'OPAL_BIND_TO_CPUSET' undeclared (first use in this function)

Looks like this code is not "aware" that hwloc has been configured out.
This is not present in the 1.5 branch configured with identical arguments.

-Paul


The following appears to "fix" that, but I am uncertain if this is the desired fix.
--- orte/mca/rmaps/rank_file/rmaps_rank_file_component.c~       2012-02-14 17:25:07.653483222 -0800
+++ orte/mca/rmaps/rank_file/rmaps_rank_file_component.c        2012-02-14 17:25:28.803483261 -0800
@@ -107,8 +107,10 @@
        }
        ORTE_SET_MAPPING_POLICY(orte_rmaps_base.mapping, ORTE_MAPPING_BYUSER);
        ORTE_SET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping, ORTE_MAPPING_GIVEN);
+#if OPAL_HAVE_HWLOC
        /* we are going to bind to cpuset since the user is specifying the cpus */
        OPAL_SET_BINDING_POLICY(opal_hwloc_binding_policy, OPAL_BIND_TO_CPUSET);
+#endif
        /* make us first */
        my_priority = 10000;
    }


HOWEVER, I am now also seeing the following occurring ONLY when configured with --disable-hwloc:
make[1]: Entering directory `/home/phargrov/openmpi-1.7a1r25913/BLD2/opal/mca/event/libevent2013'
 CC     libevent2013_module.lo
../../../../../opal/mca/event/libevent2013/libevent2013_module.c:7:20: error: config.h: No such file or directory
../../../../../opal/mca/event/libevent2013/libevent2013_module.c: In function 'opal_event_init':
../../../../../opal/mca/event/libevent2013/libevent2013_module.c:243: warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
make[1]: *** [libevent2013_module.lo] Error 1

It seems VERY odd to me that disabling hwloc should have that effect.
Looking deeper it appears that '#include "config.h"' in libevent2013_module.c has been including the config.h from HWLOC, instead of the one from libevent2013.  If one examines the -I options carefully, you will see that $(builddr)/libevent is NOT in the include path, but that is the location of the config.h generated by libevent's configure script!


-Paul

--
Paul H. Hargrove                          PHHargrove@lbl.gov
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

_______________________________________________
devel mailing list
devel@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel