Bug#946329: valgrind-mpi FTBFS

2020-04-28 Thread Ian Jackson
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

2020-03-24 Thread Samuel Thibault
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

2020-03-24 Thread Samuel Thibault
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

2019-12-07 Thread Sebastian Dröge
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