I looked into upgrading hypre from 2.8.0b to 2.11.1. I've loaded the updates into the experimental branch at https://anonscm.debian.org/git/debian-science/packages/hypre.git
and tried to refresh debian/patches (which get shlibs etc recognised). But in its current state the 2.11.1 build fails at parcsr_mv. It looks like par_csr_matop.o is trying to use hypre_ExchangeRAPData, which is defined in parcsr_ls not parcsr_mv. A straight upstream build does complete, so the problem has something to do with our patches and the build configuration we've set up for shlibs. I don't have time to debug more. It would be great if anyone familiar with hypre could take it further. Feel free to revert my debian/patches refresh, or to remove the patches altogether as needs be. Drew p.s. here is the build log at the failure point: make[2]: Leaving directory '/home/drew/projects/hypre/build/hypre/src/seq_mv' Making parcsr_mv ... make[2]: Entering directory '/home/drew/projects/hypre/build/hypre/src/parcsr_mv' mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c communicationT.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c F90_HYPRE_parcsr_matrix.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c F90_HYPRE_parcsr_vector.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c F90_parcsr_matrix.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c F90_par_vector.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c HYPRE_parcsr_matrix.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c HYPRE_parcsr_vector.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c new_commpkg.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c numbers.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_aat.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_assumed_part.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_bool_matop.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_bool_matrix.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_communication.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_matop.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_matrix.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_matop_marked.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_csr_matvec.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_vector.c mpicc -O2 -fPIC -DHAVE_CONFIG_H -I.. -I. -I./.. -I./../utilities -I./../seq_mv -c par_make_system.c Building libHYPRE_parcsr_mv.so ... mpiCC -shared -o libHYPRE_parcsr_mv-2.11.1.so communicationT.o F90_HYPRE_parcsr_matrix.o F90_HYPRE_parcsr_vector.o F90_parcsr_matrix.o F90_par_vector.o HYPRE_parcsr_matrix.o HYPRE_parcsr_vector.o new_commpkg.o numbers.o par_csr_aat.o par_csr_assumed_part.o par_csr_bool_matop.o par_csr_bool_matrix.o par_csr_communication.o par_csr_matop.o par_csr_matrix.o par_csr_matop_marked.o par_csr_matvec.o par_vector.o par_make_system.o ../seq_mv/libHYPRE_seq_mv.so ../utilities/libHYPRE_utilities.so -lmpi -Wl,-soname,libHYPRE_parcsr_mv-2.11.1.so -Wl,-z,defs par_csr_matop.o: In function `hypre_ParTMatmul': par_csr_matop.c:(.text+0x5d4f): undefined reference to `hypre_ExchangeRAPData' collect2: error: ld returned 1 exit status Makefile:135: recipe for target 'libHYPRE_parcsr_mv.so' failed make[2]: *** [libHYPRE_parcsr_mv.so] Error 1 make[2]: Leaving directory '/home/drew/projects/hypre/build/hypre/src/parcsr_mv' Makefile:89: recipe for target 'all' failed

