[mvapich-discuss] failed to compile mvapich2 with upstream hwloc-2.2.0
Honggang LI
honli at redhat.com
Mon Jun 8 03:43:20 EDT 2020
Hi,
http://mvapich.cse.ohio-state.edu/static/media/mvapich/MV2_CHANGELOG-2.3.4.txt
<....>
- Update to hwloc v2.2.0
<....>
But I failed to build mvapich2 with upstream hwloc-2.2.0, because HWLOC_MEMBIND_REPLICATE
had been removed from upstream v2.0.0. hwloc commit 8ca4de965e15 removed it.
Compilation also failed with hwloc-1.11.9. Which upstream hwloc release
I need to compile mvapich2-2.3.4?
In the mvapich source tarball, there are two copies of hwloc:
[1] ./src/pm/hydra/tools/topo/hwloc/hwloc/
[2] ./contrib/hwloc
Is it possible to remove those embedded hwloc? We have a patch to remove
[2]. But it seems difficult to remove [1].
Thanks
============== error log =========
depbase=`echo tools/bootstrap/src/bsci_query_node_list.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tools/topo/hwloc/hwloc/include/private/autogen -I./tools/topo/hwloc/hwloc/include/hwloc/autogen -I./include -I./mpl/include -I./mpl/include -I./tools/topo -I./tools/bootstrap/include -I./tools/bootstrap/utils -I./tools/ckpoint -I./tools/demux -I./tools/debugger -I./pm/include -I./pm/utils -I./ui/include -I./ui/utils -DHYDRA_CONF_FILE=\"/etc/mvapich2-psm2-x86_64/mpiexec.hydra.conf\" -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/mpid/ch3/channels/psm/include -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/mpid/ch3/channels/psm/include -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/util/wrappers -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/util/wrappers -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/mpl/include -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/mpl/include -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/openpa/src -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/openpa/src -D_REENTRANT -I/root/rpmbuild/BUILD/mvapich2-2.3.4/psm2/src/mpi/romio/include -m64 -O3 -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DNDEBUG -DNVALGRIND -g -O2 -MT tools/bootstrap/src/bsci_query_node_list.lo -MD -MP -MF $depbase.Tpo -c -o tools/bootstrap/src/bsci_query_node_list.lo tools/bootstrap/src/bsci_query_node_list.c &&\
mv -f $depbase.Tpo $depbase.Plo
In file included from tools/topo/hwloc/topo_hwloc.c:8:
tools/topo/hwloc/topo_hwloc.c: In function 'handle_user_binding':
tools/topo/hwloc/topo_hwloc.c:33:57: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDU_MALLOC(bind_entries, char **, num_bind_entries * sizeof(char *), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:33:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(bind_entries, char **, num_bind_entries * sizeof(char *), status);
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c:34:61: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDU_MALLOC(bind_entry_lengths, int *, num_bind_entries * sizeof(int), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:34:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(bind_entry_lengths, int *, num_bind_entries * sizeof(int), status);
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c:48:68: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDU_MALLOC(bind_entries[i], char *, bind_entry_lengths[i] * sizeof(char), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:48:9: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(bind_entries[i], char *, bind_entry_lengths[i] * sizeof(char), status);
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c:66:34: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
num_bind_entries * sizeof(hwloc_bitmap_t), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:65:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(HYDT_topo_hwloc_info.bitmap, hwloc_bitmap_t *,
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c: In function 'handle_rr_binding':
tools/topo/hwloc/topo_hwloc.c:109:50: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDT_topo_hwloc_info.num_bitmaps * sizeof(hwloc_bitmap_t), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:108:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(HYDT_topo_hwloc_info.bitmap, hwloc_bitmap_t *,
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c: In function 'split_count_field':
tools/topo/hwloc/topo_hwloc.c:142:3: warning: label 'fn_fail' defined but not used [-Wunused-label]
fn_fail:
^~~~~~~
In file included from tools/topo/hwloc/topo_hwloc.c:8:
tools/topo/hwloc/topo_hwloc.c: In function 'handle_bitmap_binding':
tools/topo/hwloc/topo_hwloc.c:274:66: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDU_MALLOC(map_domains, hwloc_bitmap_t *, total_map_domains * sizeof(hwloc_bitmap_t), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:274:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(map_domains, hwloc_bitmap_t *, total_map_domains * sizeof(hwloc_bitmap_t), status);
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c:275:60: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDU_MALLOC(start_pu, hwloc_obj_t *, total_map_domains * sizeof(hwloc_obj_t), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:275:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(start_pu, hwloc_obj_t *, total_map_domains * sizeof(hwloc_obj_t), status);
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c:323:50: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
HYDT_topo_hwloc_info.num_bitmaps * sizeof(hwloc_bitmap_t), status);
./include/hydra.h:460:15: note: in definition of macro 'HYDU_ASSERT'
if (!(x)) { \
^
tools/topo/hwloc/topo_hwloc.c:322:5: note: in expansion of macro 'HYDU_MALLOC'
HYDU_MALLOC(HYDT_topo_hwloc_info.bitmap, hwloc_bitmap_t *,
^~~~~~~~~~~
tools/topo/hwloc/topo_hwloc.c: In function 'HYDT_topo_hwloc_init':
tools/topo/hwloc/topo_hwloc.c:431:40: error: 'HWLOC_MEMBIND_REPLICATE' undeclared (first use in this function); did you mean 'HWLOC_MEMBIND_MIGRATE'?
HYDT_topo_hwloc_info.membind = HWLOC_MEMBIND_REPLICATE;
^~~~~~~~~~~~~~~~~~~~~~~
HWLOC_MEMBIND_MIGRATE
More information about the mvapich-discuss
mailing list