Brice --
Did you see this?
The issue is that ipmi.h has a #define for "uint64". :-(
So this isn't hwloc's fault at all, but it's a change we had to make in OMPI so
that ORCM can have a topology-aware IPMI module.
Begin forwarded message:
> From:
> Subject: [OMPI svn-full] svn:open-mpi r32675 - in
> trunk/opal/mca/hwloc/hwloc191/hwloc: include/hwloc src
> Date: September 7, 2014 at 11:42:05 AM EDT
> To:
> Reply-To:
>
> Author: rhc (Ralph Castain)
> Date: 2014-09-07 11:42:05 EDT (Sun, 07 Sep 2014)
> New Revision: 32675
> URL: https://svn.open-mpi.org/trac/ompi/changeset/32675
>
> Log:
> Rename an HWLOC member of a union in the diff.h file to avoid a naming
> conflict with an external library - it isn't that HWLOC did something wrong,
> but rather that the name being used is so close to a type name that other
> folks has a tendency to #define it as well. We could argue with those folks
> that what they are doing is incorrect, but it is just easier to make a slight
> change and resolve the problem.
>
> Text files modified:
> trunk/opal/mca/hwloc/hwloc191/hwloc/include/hwloc/diff.h | 2 +-
>
> trunk/opal/mca/hwloc/hwloc191/hwloc/src/diff.c |12
> ++--
> trunk/opal/mca/hwloc/hwloc191/hwloc/src/topology-xml.c |10 +-
>
> 3 files changed, 12 insertions(+), 12 deletions(-)
>
> Modified: trunk/opal/mca/hwloc/hwloc191/hwloc/include/hwloc/diff.h
> ==
> --- trunk/opal/mca/hwloc/hwloc191/hwloc/include/hwloc/diff.h Sun Sep 7
> 11:14:57 2014(r32674)
> +++ trunk/opal/mca/hwloc/hwloc191/hwloc/include/hwloc/diff.h 2014-09-07
> 11:42:05 EDT (Sun, 07 Sep 2014) (r32675)
> @@ -91,7 +91,7 @@
> hwloc_uint64_t index; /* not used for SIZE */
> hwloc_uint64_t oldvalue;
> hwloc_uint64_t newvalue;
> - } uint64;
> + } ui64;
>
> /** \brief String attribute modification with an optional name */
> struct hwloc_topology_diff_obj_attr_string_s {
>
> Modified: trunk/opal/mca/hwloc/hwloc191/hwloc/src/diff.c
> ==
> --- trunk/opal/mca/hwloc/hwloc191/hwloc/src/diff.cSun Sep 7 11:14:57
> 2014(r32674)
> +++ trunk/opal/mca/hwloc/hwloc191/hwloc/src/diff.c2014-09-07 11:42:05 EDT
> (Sun, 07 Sep 2014) (r32675)
> @@ -117,10 +117,10 @@
> newdiff->obj_attr.type = HWLOC_TOPOLOGY_DIFF_OBJ_ATTR;
> newdiff->obj_attr.obj_depth = obj->depth;
> newdiff->obj_attr.obj_index = obj->logical_index;
> - newdiff->obj_attr.diff.uint64.type = type;
> - newdiff->obj_attr.diff.uint64.index = index;
> - newdiff->obj_attr.diff.uint64.oldvalue = oldvalue;
> - newdiff->obj_attr.diff.uint64.newvalue = newvalue;
> + newdiff->obj_attr.diff.ui64.type = type;
> + newdiff->obj_attr.diff.ui64.index = index;
> + newdiff->obj_attr.diff.ui64.oldvalue = oldvalue;
> + newdiff->obj_attr.diff.ui64.newvalue = newvalue;
> hwloc_append_diff(newdiff, firstdiffp, lastdiffp);
> return 0;
> }
> @@ -316,8 +316,8 @@
> switch (obj_attr->diff.generic.type) {
> case HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE: {
> hwloc_obj_t tmpobj;
> - hwloc_uint64_t oldvalue = reverse ?
> obj_attr->diff.uint64.newvalue : obj_attr->diff.uint64.oldvalue;
> - hwloc_uint64_t newvalue = reverse ?
> obj_attr->diff.uint64.oldvalue : obj_attr->diff.uint64.newvalue;
> + hwloc_uint64_t oldvalue = reverse ?
> obj_attr->diff.ui64.newvalue : obj_attr->diff.ui64.oldvalue;
> + hwloc_uint64_t newvalue = reverse ?
> obj_attr->diff.ui64.oldvalue : obj_attr->diff.ui64.newvalue;
> hwloc_uint64_t valuediff = newvalue - oldvalue;
> if (obj->memory.local_memory != oldvalue)
> return -1;
>
> Modified: trunk/opal/mca/hwloc/hwloc191/hwloc/src/topology-xml.c
> ==
> --- trunk/opal/mca/hwloc/hwloc191/hwloc/src/topology-xml.cSun Sep 7
> 11:14:57 2014(r32674)
> +++ trunk/opal/mca/hwloc/hwloc191/hwloc/src/topology-xml.c2014-09-07
> 11:42:05 EDT (Sun, 07 Sep 2014) (r32675)
> @@ -683,8 +683,8 @@
>
> switch (atoi(obj_attr_type_s)) {
> case HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE:
> - diff->obj_attr.diff.uint64.oldvalue = strtoull(obj_attr_oldvalue_s,
> NULL, 0);
> - diff->obj_attr.diff.uint64.newvalue = strtoull(obj_attr_newvalue_s,
> NULL, 0);
> + diff->obj_attr.diff.ui64.oldvalue = strtoull(obj_attr_oldvalue_s, NULL,
> 0);
> + diff->obj_attr.diff.ui64.newvalue = strtoull(obj_attr_newvalue_s, NULL,
> 0);
> break;
>