Package: libhypre-dev
Version: 2.14.0-3
Followup-For: Bug #902102

The missing external library (superlu) is a simple bug that can be fixed.

The other, internal library is more subtle. hypre is designed as a
monolithic library.  Original Debian developers chose to split it into
components, hence the separate lib_HYPRE_<component> libraries

The problem is that there are some circular dependencies.  parcsr_ls
depends on parcsr_mv, and parcsr_mv depends on parcsr_ls.  One needs
to be built before the other.  At the moment parcsr_mv is built first
and so is not explicitly linked at build time to parcsr_ls.  parcsr_ls
gets the explicit link to parcsr_mv.  

If you try to link parcsr_mv to parcsr_ls then there is a make error,
   No rule to make target '../parcsr_ls/libHYPRE_parcsr_ls.so', needed by
   'libHYPRE_parcsr_mv.so'.  Stop.

Similar for libHYPRE_mli (circular dependency with libHYPRE_FEI)

Is there a better way to handle the circular dependency? Can the
missing link be added afterwards (after both libraries have been
compiled)?  Should we restore upstream's monolithic library?

Reply via email to