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

Reply via email to