On 6 January 2017 at 00:53, Santiago Vila wrote: | Package: src:rmpi | Version: 0.6-6-1 | Severity: serious | | Dear maintainer: | | I tried to build this package in stretch with "dpkg-buildpackage -B" | but it failed: | | -------------------------------------------------------------------------------- | [...] | debian/rules build-arch | CDBS WARNING: simple-patchsys.mk is deprecated since 0.4.85 - please use source format 3.0 (quilt) instead | test -x debian/rules | mkdir -p "." | /usr/bin/make -f debian/rules reverse-config | make[1]: Entering directory '/<<PKGBUILDDIR>>' | CDBS WARNING: simple-patchsys.mk is deprecated since 0.4.85 - please use source format 3.0 (quilt) instead | make[1]: 'reverse-config' is up to date. | make[1]: Leaving directory '/<<PKGBUILDDIR>>' | if [ "debian/stamp-patched" = "reverse-patches" ]; then rm -f debian/stamp-patched; fi | patches: | if [ "debian/stamp-patched" != "reverse-patches" ]; then touch debian/stamp-patched; fi | if [ "debian/stamp-patched" != "reverse-patches" ] ; then \ | | [... snipped ...] | | if test -f /usr/bin/xvfb-run; then \ | xvfb-run -a \ | R CMD INSTALL -l /<<PKGBUILDDIR>>/debian/r-cran-rmpi/usr/lib/R/site-library --clean \ | "--no-test-load" . \ | "--built-timestamp=\"Sat, 25 Jun 2016 07:43:11 -0500\"" \ | ; \ | else \ | R CMD INSTALL -l /<<PKGBUILDDIR>>/debian/r-cran-rmpi/usr/lib/R/site-library \ | --clean "--no-test-load" . \ | "--built-timestamp=\"Sat, 25 Jun 2016 07:43:11 -0500\"" \ | ; \ | fi | * installing *source* package 'Rmpi' ... | ** package 'Rmpi' successfully unpacked and MD5 sums checked | checking for gcc... gcc -std=gnu99 | checking whether the C compiler works... yes | checking for C compiler default output file name... a.out | checking for suffix of executables... | checking whether we are cross compiling... no | checking for suffix of object files... o | checking whether we are using the GNU C compiler... yes | checking whether gcc -std=gnu99 accepts -g... yes | checking for gcc -std=gnu99 option to accept ISO C89... none needed | checking how to run the C preprocessor... gcc -std=gnu99 -E | checking for grep that handles long lines and -e... /bin/grep | checking for egrep... /bin/grep -E | checking for ANSI C header files... yes | checking for sys/types.h... yes | checking for sys/stat.h... yes | checking for stdlib.h... yes | checking for string.h... yes | checking for memory.h... yes | checking for strings.h... yes | checking for inttypes.h... yes | checking for stdint.h... yes | checking for unistd.h... yes | checking mpi.h usability... no | checking mpi.h presence... no | checking for mpi.h... no | configure: error: "Cannot find mpi.h header file" | ERROR: configuration failed for package 'Rmpi' | * removing '/<<PKGBUILDDIR>>/debian/r-cran-rmpi/usr/lib/R/site-library/Rmpi' | /usr/share/R/debian/r-cran.mk:98: recipe for target 'R_any_arch' failed | make: *** [R_any_arch] Error 1 | dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2 | -------------------------------------------------------------------------------- | | This is just how the build ends, not necessarily the relevant part. | | I've put several build logs here: | | https://people.debian.org/~sanvila/build-logs/rmpi/ | | If this is really a bug in one of the build-depends, please use reassign and affects, | so that this is still visible in the page for this package. | | The bug should be reproducible with sbuild on a single CPU virtual machine.
Probably a side effect of the OpenMPI v2 changes. The configure for this is very much ad-hoc and grown. Could you have a look and test? if test -z "$MPI_ROOT" ; then for d in /opt/lib /usr/lib /usr /usr/local/lib /usr/local \ /usr/lib64/mpi/gcc/openmpi; do if test -f $d/include/mpi.h && test -d $d/lib/openmpi; then echo "I am here $d and it is OpenMPI" MPI_ROOT=$d MPITYPE="OPENMPI" break elif test -f $d/include/openmpi/mpi.h && test -d $d/lib/openmpi; then echo "I am here $d and it is OpenMPI" MPI_ROOT=$d MPITYPE="OPENMPI" MPI_INCLUDE_PATH=$d/include/openmpi break elif test -f $d/include/openmpi/mpi.h && test -d $d/lib64/openmpi; then echo "I am here $d and it is OpenMPI" MPI_ROOT=$d MPITYPE="OPENMPI" MPI_INCLUDE_PATH=$d/include/openmpi break elif test -f $d/openmpi/include/mpi.h && test -d $d/openmpi/lib; then echo "I am here $d/openmpi and it is OpenMPI" MPI_ROOT=$d/openmpi MPITYPE="OPENMPI" MPI_INCLUDE_PATH=$d/include/openmpi break elif test -f $d/include/mpi.h && test -d $d/lib64; then echo "I am here $d and it is OpenMPI" MPI_ROOT=$d MPITYPE="OPENMPI" MPI_INCLUDE_PATH=$d/include break elif test -f $d/lam/include/mpi.h && test -f $d/lam/lib/libmpi.so; then echo "I am here $d/lam and it is LAM" MPI_ROOT=$d/lam MPITYPE="LAM" MPI_INCLUDE_PATH=$d/include/lam break elif test -f $d/include/lam/mpi.h && test -f $d/lib/lam/libmpi.so; then echo "I am here $d and it is LAM" MPI_ROOT=$d MPITYPE="LAM" MPI_INCLUDE_PATH=$d/include/lam break elif test -f $d/include/lam/mpi.h && test -f $d/lib64/lam/libmpi.so; then echo "I am here $d and it is LAM" MPI_ROOT=$d MPITYPE="LAM" MPI_INCLUDE_PATH=$d/include/lam break elif test -f $d/mpich/include/mpi.h; then echo "I am here $d/mpich and it is MPICH" MPI_ROOT=$d/mpich MPITYPE="MPICH" MPI_INCLUDE_PATH=$d/mpich/include break elif test -f $d/mpi/include/mpi.h; then echo "I am here $d/mpi" MPI_ROOT=$d/mpi MPI_INCLUDE_PATH=$d/mpi/include break elif test -f $d/include/mpi.h; then echo "I am here $d" MPI_ROOT=$d break fi done fi Similarly for the library. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org