[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: