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 phhargr...@lbl.gov
Future Technologies Group
HPC Research Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900