On Montag, 22. Januar 2018 22:11:12 CEST Egbert Eich wrote:
I did overlook your message as at the time you wrote it, I was extremely busy to get a release out. I need to apologize for the delay and that I'm only answering now.
Peter Hill writes:
I just noticed the gnu-hpc packages in Tumbleweed recently, and I was wondering if there is an explanation of how they work somewhere? I had a look for some information or discussion, but I've not been able to find anything so far.
Right, I should probably have blogged about this - and I may still do.
Any chance you can write up some documentation about this?
Currently, I have a few questions
A: Buildtime Every package with an MPI dependency should be build in several flavours. Each flavour has buildtime requirements on other packages, if these dependencies are flavoured as well, the flavours of all buildrequires match. Is this correct?
Currently, there a some packages which only build the traditional openmpi flavour (e.g. science/scotch), some only have gnu-*-hpc flavours (e.g. petsc), and some have both (e.g. hdf5).
B: Runtime The environment is setup from the module. Installing a package pulls in the requirements in the same flavour.
B1: Is there a default flavour? There is non-MPI and openmpi, and now all the hpc named variants as well.
B2: How is the system kept consistent? What happens if the user installs a package depending on e.g. libhdf5? Currently, it is possible to install libhdf5-101-openmpi instead of libhd5-101, which both provide 'libhdf5.so.101()(64bit)', but doing so will break any program linking to libhdf5.
(Possible packaging bug - libhdf5-101-*openmpi* pulls in mpi-selector and *mpich*, while this should probably be *openmpi*).