Skip to content

Recent hwloc base change breaks external hwloc <= v2.0.x #7362

Closed
@jsquyres

Description

@jsquyres

PR #7201 causes compile errors on master when compiling with older versions of hwloc (older than v2.0.x).

Open MPI master still supports hwloc >= v1.5.x. Are we changing this to be >= v2.0.x?

Specifically, when I try compiling Open MPI master HEAD with an external installation of 1.5.1, I get the following compile error:

make[1]: Entering directory `/home/jsquyres/git/ompi/opal/mca/hwloc'
  CC       base/hwloc_base_util.lo
base/hwloc_base_util.c: In function ‘opal_hwloc_base_find_coprocessors’:
base/hwloc_base_util.c:1393:12: warning: unused variable ‘cps’ [-Wunused-variable]
     char **cps = NULL;
            ^~~
base/hwloc_base_util.c:1392:14: warning: unused variable ‘i’ [-Wunused-variable]
     unsigned i;
              ^
base/hwloc_base_util.c:1391:17: warning: unused variable ‘osdev’ [-Wunused-variable]
     hwloc_obj_t osdev;
                 ^~~~~
base/hwloc_base_util.c: In function ‘opal_hwloc_base_get_locality_string’:
base/hwloc_base_util.c:2207:30: error: ‘obj’ undeclared (first use in this function)
                     if (3 == obj->attr->cache.depth) {
                              ^~~
base/hwloc_base_util.c:2207:30: note: each undeclared identifier is reported only once for each function it appears in

It looks like ea80a20 removed the declaration and initialization of obj for HWLOC_API_VERSION < 0x20000.

What do we want to do here?

FYI @bgoglin @hppritcha

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions