Source: rheolef
Version: 7.2-3
Severity: serious
Tags: ftbfs patch

https://buildd.debian.org/status/fetch.php?pkg=rheolef&arch=i386&ver=7.2-3%2Bb4&stamp=1728449821&raw=0

...
checking for mpirun... /usr/bin/mpirun
checking for mpi style... no
checking for mpi includes... 
checking for libmpi... -lmpi
checking for mpi.h... no
checking for boost/mpi.hpp... no
...
In file included from ../../include/rheolef/dis_cpu_time.h:83,
                 from dis_cpu_time.cc:21:
../../include/rheolef/communicator.h:112:25: error: expected initializer before 
'size'
  112 | inline int communicator size() const { return 1; }
      |                         ^~~~
../../include/rheolef/communicator.h:113:25: error: expected initializer before 
'rank'
  113 | inline int communicator rank() const { return 0; }
      |                         ^~~~
make[4]: *** [Makefile:788: dis_cpu_time.lo] Error 1


OpenMPI is no longer available on 32 bit,
32 bit architectures where therefore switched to MPICH.

The attached patch makes the MPICH detection work.

This is a minimal fix, a proper fix would involve
replacing a lot of the manual detection with pkg-config.
Description: HACK: Fix the build with MPICH
 - "mpirun.mpich --help" output no longer contains "MPICH1 compat"
 - use pkg-config to find multiarchheaders
Author: Adrian Bunk <b...@debian.org>

--- rheolef-7.2.orig/config/acinclude.m4
+++ rheolef-7.2/config/acinclude.m4
@@ -1794,7 +1794,7 @@ AC_DEFUN([RHEO_CHECK_MPI],
         if    test `$MPIRUN --allow-run-as-root --help 2>&1 | grep "Open.*MPI" 
| wc -l` -ge 1 \
            || test `$MPIRUN --help --allow-run-as-root 2>&1 | grep "Open.*MPI" 
| wc -l` -ge 1; then
           rheo_recognized_mpi=openmpi
-        elif test `$MPIRUN --help 2>&1 | grep 'MPICH1 compat' | wc -l` -ge 1; 
then
+        elif test `$MPIRUN --help 2>&1 | grep 'MPICH' | wc -l` -ge 1; then
           rheo_recognized_mpi=mpich2
         elif test `$MPIRUN -h 2>&1 | grep 'mpich/bin' | wc -l` -ge 1; then
           rheo_recognized_mpi=mpich1
@@ -1808,8 +1808,9 @@ AC_DEFUN([RHEO_CHECK_MPI],
            LDADD_MPI="-L/usr/lib/mpich/lib -lpmpich++ -lmpich -lpthread -lrt"
            ;;
           mpich2)
-           INCLUDES_MPI="-I/usr/include/mpich2"
-           LDADD_MPI="-lmpichcxx -lmpich -lpthread -lrt"
+           PKG_CHECK_MODULES(MPICH, [mpich])
+           INCLUDES_MPI="$MPICH_CFLAGS"
+           LDADD_MPI="-lmpichcxx $MPICH_LIBS"
            ;;
           openmpi)
             MPIRUN="mpirun --hostfile \${top_builddir}/config/hostfile.txt"

Reply via email to