You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have been able to repeat issue #2410. Although the fix proposed there by @hkaiser allows to build library but example transpose_block_numa fails due to missing references to hpx::threads::hwloc_topology ctor and dtor. The problem can be reproduced on OpenMPI full installation where all hwloc headers are present. The bug is caused by their lowercase rename macro hwloc_topology, as described here. I have confirmed it with:
nm -gC lib/libhpx.so | grep hwloc_topology
0000000000752d90 T hpx::threads::opal_hwloc191_hwloc_topology::opal_hwloc191_hwloc_topology()
Right now I have solved the problem by manually undefining the macro after each inclusion of hwloc.h. I doubt they're going to fix it, hwloc has dozens of lowercase macros defining their API. If current solution is not reliable enough, I can rename the class and open a pull request.
The text was updated successfully, but these errors were encountered:
I think the best would be to rename our type hpx::threads::hwloc_topology to something not conflicting with any of the macros used by the hwloc library (for instance: hpx::threads::hwloc_topology_info).
Hartmut, I got a response from OpenMPI devs and according to them, those headers should never leak into libraries using hwloc. In their opinion, it is a bug in their build system or an improper installation of OpenMPI. I just opened a ticket at my local IT department and I'm going wait and see what happens.
It may not be necessary to rename anything. However, if it's not a bug but a human mistake then #2410 suggests that it may be a recurring problem, we don't know how many German HPC clusters have an incorrectly installed OpenMPI. In this case renaming may be a better option.
I have been able to repeat issue #2410. Although the fix proposed there by @hkaiser allows to build library but example transpose_block_numa fails due to missing references to
hpx::threads::hwloc_topology
ctor and dtor. The problem can be reproduced on OpenMPI full installation where all hwloc headers are present. The bug is caused by their lowercase rename macrohwloc_topology
, as described here. I have confirmed it with:Right now I have solved the problem by manually undefining the macro after each inclusion of hwloc.h. I doubt they're going to fix it, hwloc has dozens of lowercase macros defining their API. If current solution is not reliable enough, I can rename the class and open a pull request.
The text was updated successfully, but these errors were encountered: