Bug#946329: valgrind-mpi FTBFS
Hi. I tripped across this bug. FYI: I tried to apply the patches openmpi4 and openmpi4-2 and they didn't seem to help. I got the same build error. I also looked for the "drop-MPI-1-support.patch" that Sebastian mentioned. I downloaded valgrind (1:3.11.0-1ubuntu4.2) xenial-security but it didn't seem to contain that patch. Ian. -- Ian JacksonThese opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
Bug#946329: valgrind-mpi FTBFS
Samuel Thibault, le mar. 24 mars 2020 11:49:21 +0100, a ecrit: > Sebastian Dröge, le sam. 07 déc. 2019 10:46:04 +0200, a ecrit: > > valgrind currently fails to build from source. The Ubuntu patch to drop MPI > > 1 > > support (drop-MPI-1-support.patch) probably fixes this. > > It doesn't seem to be needed to completely drop MPI-1 support, the > attached patch fixes the build too. With the as-needed change in the toolchain, the attached patch is needed to properly link the mpi wrapper. Samuel Index: valgrind-3.15.0/mpi/Makefile.am === --- valgrind-3.15.0.orig/mpi/Makefile.am +++ valgrind-3.15.0/mpi/Makefile.am @@ -42,14 +42,14 @@ libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@ libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = -I$(top_srcdir)/include libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \ $(CFLAGS_MPI) $(MPI_FLAG_M3264_PRI) -Wno-deprecated-declarations -libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = $(LDFLAGS_MPI) +libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDADD = $(LDFLAGS_MPI) endif if BUILD_MPIWRAP_SEC libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = libmpiwrap.c libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = -I$(top_srcdir)/include libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \ $(CFLAGS_MPI) $(MPI_FLAG_M3264_SEC) -Wno-deprecated-declarations -libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = $(LDFLAGS_MPI) +libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDADD = $(LDFLAGS_MPI) endif #
Bug#946329: valgrind-mpi FTBFS
Control: tags -1 + patch Hello, Sebastian Dröge, le sam. 07 déc. 2019 10:46:04 +0200, a ecrit: > valgrind currently fails to build from source. The Ubuntu patch to drop MPI 1 > support (drop-MPI-1-support.patch) probably fixes this. It doesn't seem to be needed to completely drop MPI-1 support, the attached patch fixes the build too. Samuel --- mpi/libmpiwrap.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) --- a/mpi/libmpiwrap.c +++ b/mpi/libmpiwrap.c @@ -278,8 +278,12 @@ static void showTy ( FILE* f, MPI_Dataty else if (ty == MPI_LONG_INT) fprintf(f,"LONG_INT"); else if (ty == MPI_SHORT_INT) fprintf(f,"SHORT_INT"); else if (ty == MPI_2INT) fprintf(f,"2INT"); +# if defined(MPI_UB) else if (ty == MPI_UB) fprintf(f,"UB"); +# endif +# if defined(MPI_LB) else if (ty == MPI_LB) fprintf(f,"LB"); +# endif # if defined(MPI_WCHAR) else if (ty == MPI_WCHAR) fprintf(f,"WCHAR"); # endif @@ -733,8 +737,14 @@ void walk_type ( void(*f)(void*,long), c f(base + offsetof(Ty,loc), sizeof(int)); return; } - if (ty == MPI_LB || ty == MPI_UB) +#if defined(MPI_LB) + if (ty == MPI_LB) + return; /* have zero size, so nothing needs to be done */ +#endif +#if defined(MPI_UB) + if (ty == MPI_UB) return; /* have zero size, so nothing needs to be done */ +#endif goto unhandled; /*NOTREACHED*/ }
Bug#946329: valgrind-mpi FTBFS
Package: valgrind Version: 1:3.15.0-1 Severity: serious valgrind currently fails to build from source. The Ubuntu patch to drop MPI 1 support (drop-MPI-1-support.patch) probably fixes this. In file included from libmpiwrap.c:116: libmpiwrap.c: In function 'showTy': /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:322:57: error: expected expression before '_Static_assert' 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") | ^~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:1112:24: note: in expansion of macro 'THIS_SYMBOL_WAS_REMOVED_IN_MPI30' 1112 | #define MPI_UB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_UB, MPI_Type_create_resized); |^~~~ libmpiwrap.c:281:19: note: in expansion of macro 'MPI_UB' 281 |else if (ty == MPI_UB) fprintf(f,"UB"); | ^~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:322:57: error: expected expression before '_Static_assert' 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") | ^~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:1113:24: note: in expansion of macro 'THIS_SYMBOL_WAS_REMOVED_IN_MPI30' 1113 | #define MPI_LB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_LB, MPI_Type_create_resized); |^~~~ libmpiwrap.c:282:19: note: in expansion of macro 'MPI_LB' 282 |else if (ty == MPI_LB) fprintf(f,"LB"); | ^~ libmpiwrap.c: In function 'showCombiner': /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:322:57: error: expected expression before '_Static_assert' 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") | ^~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:743:46: note: in expansion of macro 'THIS_SYMBOL_WAS_REMOVED_IN_MPI30' 743 | #define MPI_COMBINER_HVECTOR_INTEGER THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_COMBINER_HVECTOR_INTEGER, MPI_COMBINER_HVECTOR); | ^~~~ libmpiwrap.c:354:12: note: in expansion of macro 'MPI_COMBINER_HVECTOR_INTEGER' 354 | case MPI_COMBINER_HVECTOR_INTEGER: fprintf(f, "HVECTOR_INTEGER"); break; |^~~~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:322:57: error: expected expression before '_Static_assert' 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") | ^~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:743:46: note: in expansion of macro 'THIS_SYMBOL_WAS_REMOVED_IN_MPI30' 743 | #define MPI_COMBINER_HVECTOR_INTEGER THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_COMBINER_HVECTOR_INTEGER, MPI_COMBINER_HVECTOR); | ^~~~ libmpiwrap.c:354:12: note: in expansion of macro 'MPI_COMBINER_HVECTOR_INTEGER' 354 | case MPI_COMBINER_HVECTOR_INTEGER: fprintf(f, "HVECTOR_INTEGER"); break; |^~~~ libmpiwrap.c:354:40: error: expected expression before ':' token 354 | case MPI_COMBINER_HVECTOR_INTEGER: fprintf(f, "HVECTOR_INTEGER"); break; |^ In file included from libmpiwrap.c:116: /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:322:57: error: expected expression before '_Static_assert' 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") | ^~ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:744:47: note: in expansion of macro 'THIS_SYMBOL_WAS_REMOVED_IN_MPI30' 744 | #define MPI_COMBINER_HINDEXED_INTEGER THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_COMBINER_HINDEXED_INTEGER, MPI_COMBINER_HINDEXED); | ^~~~ libmpiwrap.c:359:12: note: in expansion of macro 'MPI_COMBINER_HINDEXED_INTEGER' 359 | case MPI_COMBINER_HINDEXED_INTEGER: fprintf(f, "HINDEXED_INTEGER"); break; |^ /usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:322:57: error: expected expression before '_Static_assert' 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in