request for help: hypre 1.11.1
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
Reply to: