Bug#1084831: rheolef FTBFS with MPICH as default
Adrian Bunk
bunk at debian.org
Wed Oct 9 13:28:01 BST 2024
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.
-------------- next part --------------
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 <bunk at 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"
More information about the debian-science-maintainers
mailing list