-
Notifications
You must be signed in to change notification settings - Fork 936
Closed
Description
This was found in Cisco MTT: building Open MPI master with an external hwloc 1.5.2 and 1.8.1
Here's the external hwloc 1.5.2 stderr:
$ ./configure --prefix=/home/jsquyres/bogus --with-hwloc=/home/mpiteam/hwloc-1.5.2/install
...
$ make -j 32
...
hwloc/hwloc_base_util.c: In function ‘prte_hwloc_base_filter_cpus’:
hwloc/hwloc_base_util.c:280:15: warning: implicit declaration of function ‘hwloc_get_numanode_obj_by_os_index’; did you mean ‘hwloc_get_pu_obj_by_os_index’? [-Wimplicit-function-declaration]
obj = hwloc_get_numanode_obj_by_os_index(topo, w);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hwloc_get_pu_obj_by_os_index
hwloc/hwloc_base_util.c:280:13: warning: assignment to ‘hwloc_obj_t’ {aka ‘struct hwloc_obj *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
obj = hwloc_get_numanode_obj_by_os_index(topo, w);
^
CCLD libprrte.la
make[4]: Leaving directory `/home/jsquyres/git/o3/3rd-party/prrte/src'
Making all in tools/prted
make[4]: Entering directory `/home/jsquyres/git/o3/3rd-party/prrte/src/tools/prted'
CC prted.o
CCLD prted
../../../src/.libs/libprrte.so: undefined reference to `hwloc_get_numanode_obj_by_os_index'
collect2: error: ld returned 1 exit status
make[4]: *** [prted] Error 1
Note that the declaration problems are just warnings; there's a linker error that is the cause for make to fail.
Using external hwloc 1.8.1, the compile warnings / link error is the same as it is for external hwloc 1.5.2.
If the minimum hwloc version is simply higher than 1.8.1 these days, just let me know and I'll update Cisco's MTT (as long as the v5.0.x RMs are ok with increasing the minimum hwloc version -- that's a different conversation).
It would be nice to fail earlier (e.g., in configure) if we're using an hwloc that is unsupported, though.
Per discussion on the 11 Jan 2022 webex, marked this as "blocker".