making lib HYPRE monolithic, splitting is unmanageable
hypre is made up of various components. Adam Powell first debianised it
by patching the various makefiles to create shared libraries for each
subdir. In principle this means you only need to link against the hypre
component you're using, splitting the upstream monolithic library into
smaller component libraries.
However, increasingly there are cross dependencies between the different
components, e.g. see Bug#902102. This requires libraries cross-linking
between themselves, which undermines the point of splitting the library
anyway.
The latest version 2.15.0 now uses a variable in utilities (considered a
"base" component) which is defined in one of the other subdirs
(struct_mv). In this way the packaging is increasingly becoming
unmanageable.
I'm inclined to drop the hypre library splitting and let it run the way
upstream has developed it, as a monolithic library.
Judging by the current collection of libHYPRE*.so, the monolithic
library would be around 6MB in size. This is larger than other
libraries but makes library maintenance more straightforward.
Speak up if you have arguments for retaining the current split-library
structure (and take over maintenance to make it happen).
Drew
Reply to: