Your message dated Sun, 25 Dec 2011 23:17:23 +0000
with message-id <[email protected]>
and subject line Bug#639100: fixed in arpack 3.0.1-2~exp2
has caused the Debian Bug report #639100,
regarding libarpack2: Source-package MPI header (mpif.h) not compatible with 
OpenMPI.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
639100: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639100
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libarpack2
Version: 2.1+parpack96.dfsg-3.1
Severity: important
Tags: patch

Ran into a problem running the parallel test program pdsdrv1.f using OpenMPI...

##
## Compilation went fine...
##

$ mpif77 -g -c pdsdrv1.f -o pdsdrv1.o
$ mpif77 -g pdsdrv1.o -o pdsdrv1 -lblacsF77init-openmpi -lblacs-openmpi
-lparpack -larpack -llapack -lblas

##
## Execution on my dual-core system didn't work...
##

$ mpiexec -n 2 ./pdsdrv1

[onesiphorus:5172] *** An error occurred in MPI_Allreduce
[onesiphorus:5172] *** on communicator MPI_COMM_WORLD
[onesiphorus:5172] *** MPI_ERR_OP: invalid reduce operation
[onesiphorus:5172] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
--------------------------------------------------------------------------
mpiexec has exited due to process rank 0 with PID 5172 on
node onesiphorus exiting without calling "finalize". This may
have caused other processes in the application to be
terminated by signals sent by mpiexec (as reported here).
--------------------------------------------------------------------------
[onesiphorus:05171] 1 more process has sent help message help-mpi-errors.txt /
mpi_errors_are_fatal
[onesiphorus:05171] Set MCA parameter "orte_base_help_aggregate" to 0 to see
all help / error messages


I poked around the internet and some other people reported a similar problem.
They fixed it by removing the MPI header file (mpif.h) that was included with
the PARPACK source. A quick look at the header provided by OpenMPI, and other
MPI documentation suggested that mixing headers for different MPI
implementaions is generally a bad idea.

As a fix, I removed the provided files (mpif.h), added "-I/usr/include/mpi" to
the compilation options in debian/rules, and fixed the list of MPI symbols in
debian/libarpack2.symbols. The patched build performed as expected...


## Patched build...

$ mpiexec -n 2 ./pdsdrv1

 Ritz values and direct residuals
 --------------------------------
               Col   1       Col   2
  Row   1:    1.62028D-01   2.65146D-15
  Row   2:    3.98507D-01   3.49175D-15
  Row   3:    3.98507D-01   2.40782D-15
  Row   4:    6.34986D-01   3.14833D-15


 _SDRV1
 ======

  Size of the matrix is          100
  The number of processors is            2
  The number of Ritz values requested is            4
  The number of Arnoldi vectors generated (NCV) is           20
  What portion of the spectrum: SM
  The number of converged Ritz values is            4
  The number of Implicit Arnoldi update iterations taken is            9
  The number of OP*x is          140
  The convergence criterion is   1.11022302462515654E-016


I've attached a debdiff of my changes. This is my first time submitting a patch
of this kind, so I hope it is useful..



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libarpack2 depends on:
ii  libatlas3gf-base              3.8.3-27   Automatically Tuned Linear Algebra
ii  libc6                         2.13-16    Embedded GNU C Library: Shared lib
ii  libgfortran3                  4.6.1-4    Runtime library for GNU Fortran ap
ii  libopenmpi1.3                 1.4.3-2.1  high performance message passing l

Versions of packages libarpack2 recommends:
pn  atlas3-base                   <none>     (no description available)

libarpack2 suggests no packages.

-- no debconf information
diff -Nru arpack-2.1+parpack96.dfsg/debian/changelog arpack-2.1+parpack96.dfsg/debian/changelog
--- arpack-2.1+parpack96.dfsg/debian/changelog	2010-05-04 13:05:05.000000000 -0700
+++ arpack-2.1+parpack96.dfsg/debian/changelog	2011-08-23 21:22:31.000000000 -0700
@@ -1,3 +1,13 @@
+arpack (2.1+parpack96.dfsg-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Removed provided MPI header (mpif.h): bad for PARPACK/OpenMPI
+  * rules
+  * libarpack2.symbols
+  * libarpack2.symbols
+
+ -- Joshua L. Phillips <[email protected]>  Tue, 23 Aug 2011 21:22:31 -0700
+
 arpack (2.1+parpack96.dfsg-3) unstable; urgency=low
 
   [ Daniel Leidert ]
diff -Nru arpack-2.1+parpack96.dfsg/debian/compat arpack-2.1+parpack96.dfsg/debian/compat
--- arpack-2.1+parpack96.dfsg/debian/compat	1969-12-31 16:00:00.000000000 -0800
+++ arpack-2.1+parpack96.dfsg/debian/compat	2011-08-23 16:34:52.000000000 -0700
@@ -0,0 +1 @@
+5
diff -Nru arpack-2.1+parpack96.dfsg/debian/libarpack2.symbols arpack-2.1+parpack96.dfsg/debian/libarpack2.symbols
--- arpack-2.1+parpack96.dfsg/debian/libarpack2.symbols	2010-05-04 09:26:44.000000000 -0700
+++ arpack-2.1+parpack96.dfsg/debian/libarpack2.symbols	2011-08-23 21:22:20.000000000 -0700
@@ -85,7 +85,13 @@
  zvout_@Base 2.1+parpack96.dfsg
 libparpack.so.2 libarpack2 #MINVER#
  debug_@Base 2.1+parpack96.dfsg
- mpipriv_@Base 2.1+parpack96.dfsg
+ mpi_fortran_argv_null_@Base 2.1+parpack96.dfsg
+ mpi_fortran_argvs_null_@Base 2.1+parpack96.dfsg
+ mpi_fortran_bottom_@Base 2.1+parpack96.dfsg
+ mpi_fortran_errcodes_ignore_@Base 2.1+parpack96.dfsg
+ mpi_fortran_in_place_@Base 2.1+parpack96.dfsg
+ mpi_fortran_status_ignore_@Base 2.1+parpack96.dfsg
+ mpi_fortran_statuses_ignore_@Base 2.1+parpack96.dfsg 
  pcgetv0_@Base 2.1+parpack96.dfsg
  pclarnv_@Base 2.1+parpack96.dfsg
  pcmout_@Base 2.1+parpack96.dfsg
diff -Nru arpack-2.1+parpack96.dfsg/debian/patches/fix-alreduce-openmpi.patch arpack-2.1+parpack96.dfsg/debian/patches/fix-alreduce-openmpi.patch
--- arpack-2.1+parpack96.dfsg/debian/patches/fix-alreduce-openmpi.patch	1969-12-31 16:00:00.000000000 -0800
+++ arpack-2.1+parpack96.dfsg/debian/patches/fix-alreduce-openmpi.patch	2011-08-23 16:34:24.000000000 -0700
@@ -0,0 +1,405 @@
+Index: arpack-2.1+parpack96.dfsg/PARPACK/EXAMPLES/MPI/mpif.h
+===================================================================
+--- arpack-2.1+parpack96.dfsg.orig/PARPACK/EXAMPLES/MPI/mpif.h	2011-08-23 16:33:55.000000000 -0700
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,130 +0,0 @@
+-C/*
+-C *  
+-C *  (C) 1993 by Argonne National Laboratory and Mississipi State University.
+-C *      All rights reserved.  See COPYRIGHT in top-level directory.
+-C */
+-C
+-C/* user include file for MPI programs, with no dependencies */
+-C
+-C/* return codes */
+-       integer MPI_SUCCESS,MPI_ERR_EXHAUSTED,MPI_ERR_TAG, 
+-     $ MPI_ERR_COMM_NULL,MPI_ERR_COMM_INTER,MPI_ERR_COMM_INTRA, 
+-     $ MPI_ERR_ARG,MPI_ERR_BUFFER,MPI_ERR_COUNT,MPI_ERR_TYPE, 
+-     $ MPI_ERR_ROOT,MPI_ERR_OP,MPI_ERR_ERRORCODE,
+-     $ MPI_ERR_GROUP,MPI_ERR_RANK,MPI_ERR_TOPOLOGY,
+-     $ MPI_ERR_DIMS,MPI_ERR_NULL,MPI_ERR_UNKNOWN,
+-     $ MPI_ERR_REQUEST,MPI_ERR_LIMIT,MPI_ERR_INTERN,
+-     $ MPI_ERR_NOMATCH,MPI_ERR_TRUNCATE,MPI_ERR_BAD_ARGS,
+-     $ MPI_ERR_INIT,MPI_ERR_PERM_KEY,MPI_ERR_BUFFER_EXISTS,
+-     $ MPI_ERR_COMM,MPI_ERR_PERM_TYPE,MPI_ERR_IN_STATUS,
+-     $ MPI_ERR_OTHER,MPI_ERR_LASTCODE
+-       parameter (MPI_SUCCESS=0,MPI_ERR_EXHAUSTED=1,MPI_ERR_TAG=2, 
+-     $ MPI_ERR_COMM_NULL=3,MPI_ERR_COMM_INTER=4,MPI_ERR_COMM_INTRA=5, 
+-     $ MPI_ERR_ARG=6,MPI_ERR_BUFFER=7,MPI_ERR_COUNT=8,MPI_ERR_TYPE=9, 
+-     $ MPI_ERR_ROOT=10,MPI_ERR_OP=11,MPI_ERR_ERRORCODE=12,
+-     $ MPI_ERR_GROUP=13,MPI_ERR_RANK=14,MPI_ERR_TOPOLOGY=15,
+-     $ MPI_ERR_DIMS=16,MPI_ERR_NULL=17,MPI_ERR_UNKNOWN=18,
+-     $ MPI_ERR_REQUEST=19,MPI_ERR_LIMIT=20,MPI_ERR_INTERN=21,
+-     $ MPI_ERR_NOMATCH=22,MPI_ERR_TRUNCATE=23,MPI_ERR_BAD_ARGS=24,
+-     $ MPI_ERR_INIT=25,MPI_ERR_PERM_KEY=26,MPI_ERR_BUFFER_EXISTS=27,
+-     $ MPI_ERR_COMM=28,MPI_ERR_PERM_TYPE=29,MPI_ERR_IN_STATUS=30,
+-     $ MPI_ERR_OTHER=31,
+-     $ MPI_ERR_LASTCODE=32)
+-C
+-       integer MPI_UNDEFINED
+-       parameter (MPI_UNDEFINED = (-32766))
+-C
+-       INTEGER MPI_GRAPH, MPI_CART
+-       PARAMETER (MPI_GRAPH = 1, MPI_CART = 2)
+-       INTEGER  MPI_PROC_NULL
+-       PARAMETER ( MPI_PROC_NULL = (-1) )
+-C
+-       INTEGER MPI_BSEND_OVERHEAD
+-       PARAMETER ( MPI_BSEND_OVERHEAD = 512 )
+-
+-      INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
+-      PARAMETER(MPI_SOURCE=2, MPI_TAG=3, MPI_ERROR=4)
+-      INTEGER MPI_STATUS_SIZE
+-      PARAMETER (MPI_STATUS_SIZE=4)
+-      INTEGER MPI_MAX_PROCESSOR_NAME, MPI_MAX_ERROR_STRING
+-      PARAMETER (MPI_MAX_PROCESSOR_NAME=256,
+-     $           MPI_MAX_ERROR_STRING=256)
+-C
+-      INTEGER MPI_COMM_NULL
+-      PARAMETER (MPI_COMM_NULL=0)
+-c
+-      INTEGER MPI_DATATYPE_NULL
+-      PARAMETER (MPI_DATATYPE_NULL = 0)
+-      
+-      INTEGER MPI_ERRHANDLER_NULL
+-      PARAMETER (MPI_ERRHANDLER_NULL = 0)
+-      
+-      INTEGER MPI_GROUP_NULL
+-      PARAMETER (MPI_GROUP_NULL = 0)
+-      
+-      INTEGER MPI_KEYVAL_INVALID
+-      PARAMETER (MPI_KEYVAL_INVALID = 0)
+-      
+-      INTEGER MPI_REQUEST_NULL
+-      PARAMETER (MPI_REQUEST_NULL = 0)
+-C 
+-      INTEGER MPI_IDENT, MPI_CONGRUENT, MPI_SIMILAR, MPI_UNEQUAL
+-      PARAMETER (MPI_IDENT=0, MPI_CONGRUENT=1, MPI_SIMILAR=2,
+-     $          MPI_UNEQUAL=3)
+-C     
+-C     We handle datatypes by putting the variables that hold them into
+-C     common.  This way, a Fortran program can directly use the various
+-C     datatypes and can even give them to C programs.
+-C
+-C     MPI_BOTTOM needs to be a known address; here we put it at the
+-C     beginning of the common block.  The point-to-point and collective
+-C     routines know about MPI_BOTTOM, but MPI_TYPE_STRUCT as yet does not.
+-C
+-C     The types MPI_INTEGER1,2,4 and MPI_REAL4,8 are OPTIONAL.
+-C     Their values are zero if they are not available.  Note that
+-C     using these reduces the portability of code (though may enhance
+-C     portability between Crays and other systems)
+-C
+-      integer MPI_TAG_UB, MPI_HOST, MPI_IO
+-      integer MPI_BOTTOM, MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION, 
+-     $        MPI_COMPLEX, MPI_DOUBLE_COMPLEX,
+-     $        MPI_LOGICAL, MPI_CHARACTER, MPI_BYTE, 
+-     $        MPI_2INTEGER, MPI_2REAL, MPI_2DOUBLE_PRECISION, 
+-     $        MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX,
+-     $        MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, 
+-     $        MPI_REAL2, MPI_REAL4, MPI_REAL8, MPI_UB, MPI_LB, 
+-     $        MPI_PACKED
+-      integer MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY
+-      integer MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND,
+-     $     MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC, MPI_MAXLOC, 
+-     $     MPI_OP_NULL
+-      integer MPI_ERRORS_ARE_FATAL, MPI_ERRORS_RETURN
+-      common /mpipriv/ MPI_BOTTOM, MPI_INTEGER, MPI_REAL, 
+-     $     MPI_DOUBLE_PRECISION,
+-     $     MPI_COMPLEX, MPI_DOUBLE_COMPLEX, 
+-     $     MPI_LOGICAL, MPI_CHARACTER, MPI_BYTE,
+-     $     MPI_2INTEGER, MPI_2REAL, MPI_2DOUBLE_PRECISION, 
+-     $     MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX, 
+-     $     MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, 
+-     $     MPI_REAL2, MPI_REAL4, MPI_REAL8,
+-     $     MPI_UB, MPI_LB, 
+-     $     MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY,
+-     $     MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND,
+-     $     MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC, MPI_MAXLOC, 
+-     $     MPI_OP_NULL, 
+-     $     MPI_TAG_UB, MPI_HOST, MPI_IO, MPI_ERRORS_ARE_FATAL, 
+-     $     MPI_ERRORS_RETURN, MPI_PACKED
+-C
+-      integer MPI_ANY_SOURCE
+-      parameter (MPI_ANY_SOURCE = (-2))
+-      integer MPI_ANY_TAG
+-      parameter (MPI_ANY_TAG = (-1))
+-C
+-C     All other MPI routines are subroutines
+-      double precision MPI_WTIME, MPI_WTICK
+-      external MPI_WTIME, MPI_WTICK
+-C
+-C     The attribute copy/delete functions are symbols that can be passed
+-C     to MPI routines
+-      external MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN, MPI_DUP_FN
+-
+Index: arpack-2.1+parpack96.dfsg/PARPACK/SRC/MPI/mpif.h
+===================================================================
+--- arpack-2.1+parpack96.dfsg.orig/PARPACK/SRC/MPI/mpif.h	2011-08-23 16:33:55.000000000 -0700
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,130 +0,0 @@
+-C/*
+-C *  
+-C *  (C) 1993 by Argonne National Laboratory and Mississipi State University.
+-C *      All rights reserved.  See COPYRIGHT in top-level directory.
+-C */
+-C
+-C/* user include file for MPI programs, with no dependencies */
+-C
+-C/* return codes */
+-       integer MPI_SUCCESS,MPI_ERR_EXHAUSTED,MPI_ERR_TAG, 
+-     $ MPI_ERR_COMM_NULL,MPI_ERR_COMM_INTER,MPI_ERR_COMM_INTRA, 
+-     $ MPI_ERR_ARG,MPI_ERR_BUFFER,MPI_ERR_COUNT,MPI_ERR_TYPE, 
+-     $ MPI_ERR_ROOT,MPI_ERR_OP,MPI_ERR_ERRORCODE,
+-     $ MPI_ERR_GROUP,MPI_ERR_RANK,MPI_ERR_TOPOLOGY,
+-     $ MPI_ERR_DIMS,MPI_ERR_NULL,MPI_ERR_UNKNOWN,
+-     $ MPI_ERR_REQUEST,MPI_ERR_LIMIT,MPI_ERR_INTERN,
+-     $ MPI_ERR_NOMATCH,MPI_ERR_TRUNCATE,MPI_ERR_BAD_ARGS,
+-     $ MPI_ERR_INIT,MPI_ERR_PERM_KEY,MPI_ERR_BUFFER_EXISTS,
+-     $ MPI_ERR_COMM,MPI_ERR_PERM_TYPE,MPI_ERR_IN_STATUS,
+-     $ MPI_ERR_OTHER,MPI_ERR_LASTCODE
+-       parameter (MPI_SUCCESS=0,MPI_ERR_EXHAUSTED=1,MPI_ERR_TAG=2, 
+-     $ MPI_ERR_COMM_NULL=3,MPI_ERR_COMM_INTER=4,MPI_ERR_COMM_INTRA=5, 
+-     $ MPI_ERR_ARG=6,MPI_ERR_BUFFER=7,MPI_ERR_COUNT=8,MPI_ERR_TYPE=9, 
+-     $ MPI_ERR_ROOT=10,MPI_ERR_OP=11,MPI_ERR_ERRORCODE=12,
+-     $ MPI_ERR_GROUP=13,MPI_ERR_RANK=14,MPI_ERR_TOPOLOGY=15,
+-     $ MPI_ERR_DIMS=16,MPI_ERR_NULL=17,MPI_ERR_UNKNOWN=18,
+-     $ MPI_ERR_REQUEST=19,MPI_ERR_LIMIT=20,MPI_ERR_INTERN=21,
+-     $ MPI_ERR_NOMATCH=22,MPI_ERR_TRUNCATE=23,MPI_ERR_BAD_ARGS=24,
+-     $ MPI_ERR_INIT=25,MPI_ERR_PERM_KEY=26,MPI_ERR_BUFFER_EXISTS=27,
+-     $ MPI_ERR_COMM=28,MPI_ERR_PERM_TYPE=29,MPI_ERR_IN_STATUS=30,
+-     $ MPI_ERR_OTHER=31,
+-     $ MPI_ERR_LASTCODE=32)
+-C
+-       integer MPI_UNDEFINED
+-       parameter (MPI_UNDEFINED = (-32766))
+-C
+-       INTEGER MPI_GRAPH, MPI_CART
+-       PARAMETER (MPI_GRAPH = 1, MPI_CART = 2)
+-       INTEGER  MPI_PROC_NULL
+-       PARAMETER ( MPI_PROC_NULL = (-1) )
+-C
+-       INTEGER MPI_BSEND_OVERHEAD
+-       PARAMETER ( MPI_BSEND_OVERHEAD = 512 )
+-
+-      INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
+-      PARAMETER(MPI_SOURCE=2, MPI_TAG=3, MPI_ERROR=4)
+-      INTEGER MPI_STATUS_SIZE
+-      PARAMETER (MPI_STATUS_SIZE=4)
+-      INTEGER MPI_MAX_PROCESSOR_NAME, MPI_MAX_ERROR_STRING
+-      PARAMETER (MPI_MAX_PROCESSOR_NAME=256,
+-     $           MPI_MAX_ERROR_STRING=256)
+-C
+-      INTEGER MPI_COMM_NULL
+-      PARAMETER (MPI_COMM_NULL=0)
+-c
+-      INTEGER MPI_DATATYPE_NULL
+-      PARAMETER (MPI_DATATYPE_NULL = 0)
+-      
+-      INTEGER MPI_ERRHANDLER_NULL
+-      PARAMETER (MPI_ERRHANDLER_NULL = 0)
+-      
+-      INTEGER MPI_GROUP_NULL
+-      PARAMETER (MPI_GROUP_NULL = 0)
+-      
+-      INTEGER MPI_KEYVAL_INVALID
+-      PARAMETER (MPI_KEYVAL_INVALID = 0)
+-      
+-      INTEGER MPI_REQUEST_NULL
+-      PARAMETER (MPI_REQUEST_NULL = 0)
+-C 
+-      INTEGER MPI_IDENT, MPI_CONGRUENT, MPI_SIMILAR, MPI_UNEQUAL
+-      PARAMETER (MPI_IDENT=0, MPI_CONGRUENT=1, MPI_SIMILAR=2,
+-     $          MPI_UNEQUAL=3)
+-C     
+-C     We handle datatypes by putting the variables that hold them into
+-C     common.  This way, a Fortran program can directly use the various
+-C     datatypes and can even give them to C programs.
+-C
+-C     MPI_BOTTOM needs to be a known address; here we put it at the
+-C     beginning of the common block.  The point-to-point and collective
+-C     routines know about MPI_BOTTOM, but MPI_TYPE_STRUCT as yet does not.
+-C
+-C     The types MPI_INTEGER1,2,4 and MPI_REAL4,8 are OPTIONAL.
+-C     Their values are zero if they are not available.  Note that
+-C     using these reduces the portability of code (though may enhance
+-C     portability between Crays and other systems)
+-C
+-      integer MPI_TAG_UB, MPI_HOST, MPI_IO
+-      integer MPI_BOTTOM, MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION, 
+-     $        MPI_COMPLEX, MPI_DOUBLE_COMPLEX,
+-     $        MPI_LOGICAL, MPI_CHARACTER, MPI_BYTE, 
+-     $        MPI_2INTEGER, MPI_2REAL, MPI_2DOUBLE_PRECISION, 
+-     $        MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX,
+-     $        MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, 
+-     $        MPI_REAL2, MPI_REAL4, MPI_REAL8, MPI_UB, MPI_LB, 
+-     $        MPI_PACKED
+-      integer MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY
+-      integer MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND,
+-     $     MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC, MPI_MAXLOC, 
+-     $     MPI_OP_NULL
+-      integer MPI_ERRORS_ARE_FATAL, MPI_ERRORS_RETURN
+-      common /mpipriv/ MPI_BOTTOM, MPI_INTEGER, MPI_REAL, 
+-     $     MPI_DOUBLE_PRECISION,
+-     $     MPI_COMPLEX, MPI_DOUBLE_COMPLEX, 
+-     $     MPI_LOGICAL, MPI_CHARACTER, MPI_BYTE,
+-     $     MPI_2INTEGER, MPI_2REAL, MPI_2DOUBLE_PRECISION, 
+-     $     MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX, 
+-     $     MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, 
+-     $     MPI_REAL2, MPI_REAL4, MPI_REAL8,
+-     $     MPI_UB, MPI_LB, 
+-     $     MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY,
+-     $     MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND,
+-     $     MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC, MPI_MAXLOC, 
+-     $     MPI_OP_NULL, 
+-     $     MPI_TAG_UB, MPI_HOST, MPI_IO, MPI_ERRORS_ARE_FATAL, 
+-     $     MPI_ERRORS_RETURN, MPI_PACKED
+-C
+-      integer MPI_ANY_SOURCE
+-      parameter (MPI_ANY_SOURCE = (-2))
+-      integer MPI_ANY_TAG
+-      parameter (MPI_ANY_TAG = (-1))
+-C
+-C     All other MPI routines are subroutines
+-      double precision MPI_WTIME, MPI_WTICK
+-      external MPI_WTIME, MPI_WTICK
+-C
+-C     The attribute copy/delete functions are symbols that can be passed
+-C     to MPI routines
+-      external MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN, MPI_DUP_FN
+-
+Index: arpack-2.1+parpack96.dfsg/PARPACK/UTIL/MPI/mpif.h
+===================================================================
+--- arpack-2.1+parpack96.dfsg.orig/PARPACK/UTIL/MPI/mpif.h	2011-08-23 16:33:55.000000000 -0700
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,130 +0,0 @@
+-C/*
+-C *  
+-C *  (C) 1993 by Argonne National Laboratory and Mississipi State University.
+-C *      All rights reserved.  See COPYRIGHT in top-level directory.
+-C */
+-C
+-C/* user include file for MPI programs, with no dependencies */
+-C
+-C/* return codes */
+-       integer MPI_SUCCESS,MPI_ERR_EXHAUSTED,MPI_ERR_TAG, 
+-     $ MPI_ERR_COMM_NULL,MPI_ERR_COMM_INTER,MPI_ERR_COMM_INTRA, 
+-     $ MPI_ERR_ARG,MPI_ERR_BUFFER,MPI_ERR_COUNT,MPI_ERR_TYPE, 
+-     $ MPI_ERR_ROOT,MPI_ERR_OP,MPI_ERR_ERRORCODE,
+-     $ MPI_ERR_GROUP,MPI_ERR_RANK,MPI_ERR_TOPOLOGY,
+-     $ MPI_ERR_DIMS,MPI_ERR_NULL,MPI_ERR_UNKNOWN,
+-     $ MPI_ERR_REQUEST,MPI_ERR_LIMIT,MPI_ERR_INTERN,
+-     $ MPI_ERR_NOMATCH,MPI_ERR_TRUNCATE,MPI_ERR_BAD_ARGS,
+-     $ MPI_ERR_INIT,MPI_ERR_PERM_KEY,MPI_ERR_BUFFER_EXISTS,
+-     $ MPI_ERR_COMM,MPI_ERR_PERM_TYPE,MPI_ERR_IN_STATUS,
+-     $ MPI_ERR_OTHER,MPI_ERR_LASTCODE
+-       parameter (MPI_SUCCESS=0,MPI_ERR_EXHAUSTED=1,MPI_ERR_TAG=2, 
+-     $ MPI_ERR_COMM_NULL=3,MPI_ERR_COMM_INTER=4,MPI_ERR_COMM_INTRA=5, 
+-     $ MPI_ERR_ARG=6,MPI_ERR_BUFFER=7,MPI_ERR_COUNT=8,MPI_ERR_TYPE=9, 
+-     $ MPI_ERR_ROOT=10,MPI_ERR_OP=11,MPI_ERR_ERRORCODE=12,
+-     $ MPI_ERR_GROUP=13,MPI_ERR_RANK=14,MPI_ERR_TOPOLOGY=15,
+-     $ MPI_ERR_DIMS=16,MPI_ERR_NULL=17,MPI_ERR_UNKNOWN=18,
+-     $ MPI_ERR_REQUEST=19,MPI_ERR_LIMIT=20,MPI_ERR_INTERN=21,
+-     $ MPI_ERR_NOMATCH=22,MPI_ERR_TRUNCATE=23,MPI_ERR_BAD_ARGS=24,
+-     $ MPI_ERR_INIT=25,MPI_ERR_PERM_KEY=26,MPI_ERR_BUFFER_EXISTS=27,
+-     $ MPI_ERR_COMM=28,MPI_ERR_PERM_TYPE=29,MPI_ERR_IN_STATUS=30,
+-     $ MPI_ERR_OTHER=31,
+-     $ MPI_ERR_LASTCODE=32)
+-C
+-       integer MPI_UNDEFINED
+-       parameter (MPI_UNDEFINED = (-32766))
+-C
+-       INTEGER MPI_GRAPH, MPI_CART
+-       PARAMETER (MPI_GRAPH = 1, MPI_CART = 2)
+-       INTEGER  MPI_PROC_NULL
+-       PARAMETER ( MPI_PROC_NULL = (-1) )
+-C
+-       INTEGER MPI_BSEND_OVERHEAD
+-       PARAMETER ( MPI_BSEND_OVERHEAD = 512 )
+-
+-      INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
+-      PARAMETER(MPI_SOURCE=2, MPI_TAG=3, MPI_ERROR=4)
+-      INTEGER MPI_STATUS_SIZE
+-      PARAMETER (MPI_STATUS_SIZE=4)
+-      INTEGER MPI_MAX_PROCESSOR_NAME, MPI_MAX_ERROR_STRING
+-      PARAMETER (MPI_MAX_PROCESSOR_NAME=256,
+-     $           MPI_MAX_ERROR_STRING=256)
+-C
+-      INTEGER MPI_COMM_NULL
+-      PARAMETER (MPI_COMM_NULL=0)
+-c
+-      INTEGER MPI_DATATYPE_NULL
+-      PARAMETER (MPI_DATATYPE_NULL = 0)
+-      
+-      INTEGER MPI_ERRHANDLER_NULL
+-      PARAMETER (MPI_ERRHANDLER_NULL = 0)
+-      
+-      INTEGER MPI_GROUP_NULL
+-      PARAMETER (MPI_GROUP_NULL = 0)
+-      
+-      INTEGER MPI_KEYVAL_INVALID
+-      PARAMETER (MPI_KEYVAL_INVALID = 0)
+-      
+-      INTEGER MPI_REQUEST_NULL
+-      PARAMETER (MPI_REQUEST_NULL = 0)
+-C 
+-      INTEGER MPI_IDENT, MPI_CONGRUENT, MPI_SIMILAR, MPI_UNEQUAL
+-      PARAMETER (MPI_IDENT=0, MPI_CONGRUENT=1, MPI_SIMILAR=2,
+-     $          MPI_UNEQUAL=3)
+-C     
+-C     We handle datatypes by putting the variables that hold them into
+-C     common.  This way, a Fortran program can directly use the various
+-C     datatypes and can even give them to C programs.
+-C
+-C     MPI_BOTTOM needs to be a known address; here we put it at the
+-C     beginning of the common block.  The point-to-point and collective
+-C     routines know about MPI_BOTTOM, but MPI_TYPE_STRUCT as yet does not.
+-C
+-C     The types MPI_INTEGER1,2,4 and MPI_REAL4,8 are OPTIONAL.
+-C     Their values are zero if they are not available.  Note that
+-C     using these reduces the portability of code (though may enhance
+-C     portability between Crays and other systems)
+-C
+-      integer MPI_TAG_UB, MPI_HOST, MPI_IO
+-      integer MPI_BOTTOM, MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION, 
+-     $        MPI_COMPLEX, MPI_DOUBLE_COMPLEX,
+-     $        MPI_LOGICAL, MPI_CHARACTER, MPI_BYTE, 
+-     $        MPI_2INTEGER, MPI_2REAL, MPI_2DOUBLE_PRECISION, 
+-     $        MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX,
+-     $        MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, 
+-     $        MPI_REAL2, MPI_REAL4, MPI_REAL8, MPI_UB, MPI_LB, 
+-     $        MPI_PACKED
+-      integer MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY
+-      integer MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND,
+-     $     MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC, MPI_MAXLOC, 
+-     $     MPI_OP_NULL
+-      integer MPI_ERRORS_ARE_FATAL, MPI_ERRORS_RETURN
+-      common /mpipriv/ MPI_BOTTOM, MPI_INTEGER, MPI_REAL, 
+-     $     MPI_DOUBLE_PRECISION,
+-     $     MPI_COMPLEX, MPI_DOUBLE_COMPLEX, 
+-     $     MPI_LOGICAL, MPI_CHARACTER, MPI_BYTE,
+-     $     MPI_2INTEGER, MPI_2REAL, MPI_2DOUBLE_PRECISION, 
+-     $     MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX, 
+-     $     MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, 
+-     $     MPI_REAL2, MPI_REAL4, MPI_REAL8,
+-     $     MPI_UB, MPI_LB, 
+-     $     MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY,
+-     $     MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND,
+-     $     MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC, MPI_MAXLOC, 
+-     $     MPI_OP_NULL, 
+-     $     MPI_TAG_UB, MPI_HOST, MPI_IO, MPI_ERRORS_ARE_FATAL, 
+-     $     MPI_ERRORS_RETURN, MPI_PACKED
+-C
+-      integer MPI_ANY_SOURCE
+-      parameter (MPI_ANY_SOURCE = (-2))
+-      integer MPI_ANY_TAG
+-      parameter (MPI_ANY_TAG = (-1))
+-C
+-C     All other MPI routines are subroutines
+-      double precision MPI_WTIME, MPI_WTICK
+-      external MPI_WTIME, MPI_WTICK
+-C
+-C     The attribute copy/delete functions are symbols that can be passed
+-C     to MPI routines
+-      external MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN, MPI_DUP_FN
+-
diff -Nru arpack-2.1+parpack96.dfsg/debian/patches/series arpack-2.1+parpack96.dfsg/debian/patches/series
--- arpack-2.1+parpack96.dfsg/debian/patches/series	2010-05-04 09:34:53.000000000 -0700
+++ arpack-2.1+parpack96.dfsg/debian/patches/series	2011-08-23 16:33:40.000000000 -0700
@@ -1,3 +1,4 @@
 no_external_etime.patch
 parpacklib.patch
 fix-segfault.patch
+fix-alreduce-openmpi.patch
diff -Nru arpack-2.1+parpack96.dfsg/debian/rules arpack-2.1+parpack96.dfsg/debian/rules
--- arpack-2.1+parpack96.dfsg/debian/rules	2010-05-04 09:15:44.000000000 -0700
+++ arpack-2.1+parpack96.dfsg/debian/rules	2011-08-23 21:14:44.000000000 -0700
@@ -12,7 +12,7 @@
 
 DEB_MAKE_CLEAN_TARGET    := clean PSRCdir="SRC" PUTILdir="UTIL"
 DEB_MAKE_BUILD_TARGET    := default FC="gfortran"
-DEB_MAKE_ENVVARS         += FC="gfortran" FFLAGS="-O3 -fPIC -pipe"
+DEB_MAKE_ENVVARS         += FC="gfortran" FFLAGS="-I/usr/include/mpi -O3 -fPIC -pipe"
 DEB_COMPRESS_EXCLUDE     := .pdf
 #DH_COMPAT=5
 

--- End Message ---
--- Begin Message ---
Source: arpack
Source-Version: 3.0.1-2~exp2

We believe that the bug you reported is fixed in the latest version of
arpack, which is due to be installed in the Debian FTP archive:

arpack_3.0.1-2~exp2.debian.tar.gz
  to main/a/arpack/arpack_3.0.1-2~exp2.debian.tar.gz
arpack_3.0.1-2~exp2.dsc
  to main/a/arpack/arpack_3.0.1-2~exp2.dsc
libarpack2-dbg_3.0.1-2~exp2_amd64.deb
  to main/a/arpack/libarpack2-dbg_3.0.1-2~exp2_amd64.deb
libarpack2-dev_3.0.1-2~exp2_amd64.deb
  to main/a/arpack/libarpack2-dev_3.0.1-2~exp2_amd64.deb
libarpack2_3.0.1-2~exp2_amd64.deb
  to main/a/arpack/libarpack2_3.0.1-2~exp2_amd64.deb
libparpack2-dbg_3.0.1-2~exp2_amd64.deb
  to main/a/arpack/libparpack2-dbg_3.0.1-2~exp2_amd64.deb
libparpack2-dev_3.0.1-2~exp2_amd64.deb
  to main/a/arpack/libparpack2-dev_3.0.1-2~exp2_amd64.deb
libparpack2_3.0.1-2~exp2_amd64.deb
  to main/a/arpack/libparpack2_3.0.1-2~exp2_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sylvestre Ledru <[email protected]> (supplier of updated arpack package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 25 Dec 2011 23:52:23 +0100
Source: arpack
Binary: libarpack2 libarpack2-dev libarpack2-dbg libparpack2 libparpack2-dev 
libparpack2-dbg
Architecture: source amd64
Version: 3.0.1-2~exp2
Distribution: experimental
Urgency: low
Maintainer: Debian Science Team 
<[email protected]>
Changed-By: Sylvestre Ledru <[email protected]>
Description: 
 libarpack2 - Fortran77 subroutines to solve large scale eigenvalue problems
 libarpack2-dbg - Fortran77 subroutines to solve large scale eigenvalue 
problems (d
 libarpack2-dev - Fortran77 subroutines to solve large scale eigenvalue 
problems (d
 libparpack2 - Parallel subroutines to solve large scale eigenvalue problems
 libparpack2-dbg - Parallel subroutines to solve large scale eigenvalue 
problems (de
 libparpack2-dev - Parallel subroutines to solve large scale eigenvalue 
problems (de
Closes: 639100
Changes: 
 arpack (3.0.1-2~exp2) experimental; urgency=low
 .
   * debug.doc.gz were installed twice at the same place
 .
   [ Joshua L. Phillips ]
    * Removed provided MPI header (mpif.h): bad for PARPACK/OpenMPI
    * debian/rules: Added include path for MPI headers
    * libarpack2.symbols: Fixed symbols for MPI
    (Closes: #639100)
Checksums-Sha1: 
 f9e520d0fc684b2656c5add67d22a0244bbc5ae5 1751 arpack_3.0.1-2~exp2.dsc
 e30edfee35ff63610f98e52c9bd6875d54e8c550 9924 arpack_3.0.1-2~exp2.debian.tar.gz
 a2239176adb64a62c545c3fb19e9fc3fdfbd1ba8 131954 
libarpack2_3.0.1-2~exp2_amd64.deb
 1901219baaa8d543f515ad88db99505ae7274ff5 183046 
libarpack2-dev_3.0.1-2~exp2_amd64.deb
 688e9bfe34431cf506873ade2187b76943c3505b 123590 
libarpack2-dbg_3.0.1-2~exp2_amd64.deb
 f43d15641b2b0c3ad5d2db0da4fa62c8fb5e97f2 234302 
libparpack2_3.0.1-2~exp2_amd64.deb
 f1e2eee94c375ebb0a63cca93587bf305723133a 334726 
libparpack2-dev_3.0.1-2~exp2_amd64.deb
 b28fb8f3aa1e46dfa626f5fa40de6ecc604fc8ce 236880 
libparpack2-dbg_3.0.1-2~exp2_amd64.deb
Checksums-Sha256: 
 6d0e8fb60aff315d218eb1a3cad12ec6b0d71359833df85c0b31e9a05ac7e444 1751 
arpack_3.0.1-2~exp2.dsc
 d614e3166911ad7ca0259eebd63e7234cb8d2ec77f355dd2cbaf9f02aca9836d 9924 
arpack_3.0.1-2~exp2.debian.tar.gz
 478aa28ffbc18a4f2bbdbfd7331c878991f68b9bc6423632ebb881209d4ae43c 131954 
libarpack2_3.0.1-2~exp2_amd64.deb
 9a48b800d30b79d54e9dcba5a8a613ce26f0a71bfca15ef84758b5cce970420c 183046 
libarpack2-dev_3.0.1-2~exp2_amd64.deb
 1c7c73e3bd9e8c4dfb66618c00670a407e6151e239dd533b3135a686630c65d6 123590 
libarpack2-dbg_3.0.1-2~exp2_amd64.deb
 5d86304b3c57bd0ffec096aa06d6ed95d487ed04bee4ef1a7e6f0584d3f3b213 234302 
libparpack2_3.0.1-2~exp2_amd64.deb
 2071b7ce6d2f1fa3775b4bd29c5eca07e35780f8627bd1fdb59b2fc11323d629 334726 
libparpack2-dev_3.0.1-2~exp2_amd64.deb
 f58356429593edc97ef82466c8715cf020aba12886414a32e73a38c8619bbb07 236880 
libparpack2-dbg_3.0.1-2~exp2_amd64.deb
Files: 
 3b1e7cd7f32089ca819763d553d8eeb7 1751 math optional arpack_3.0.1-2~exp2.dsc
 09a692d205390183649a324d9bbd5327 9924 math optional 
arpack_3.0.1-2~exp2.debian.tar.gz
 82e5a7f5a7d169b5318adf6f3f302c26 131954 libs optional 
libarpack2_3.0.1-2~exp2_amd64.deb
 12376198599b72ef1c594166119ae501 183046 libdevel extra 
libarpack2-dev_3.0.1-2~exp2_amd64.deb
 97cd3068a8540388e1a986b322b3ae6b 123590 debug extra 
libarpack2-dbg_3.0.1-2~exp2_amd64.deb
 ba7824aabd349ecbda7e5a67435b79f4 234302 libs optional 
libparpack2_3.0.1-2~exp2_amd64.deb
 8c0a958a3416f3f11015d9a0430a2cf9 334726 libdevel extra 
libparpack2-dev_3.0.1-2~exp2_amd64.deb
 99ba85cc4360c78682dbbf58701f11e9 236880 debug extra 
libparpack2-dbg_3.0.1-2~exp2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk73rTYACgkQiOXXM92JlhCxhgCg6H1PEtD74ugSc09Qj96Xq7+t
lBsAn0YtGblV3GluA3aqEXLecJ1RbYQa
=RDD/
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to