Hi Stefan, Stefan Brüns writes:
Hi everyone,
we have a reocurring problem with multiple providers of libraries built as serial and openMPI(1-4)/MVAPICH/... flavors.
Currently, both the serial and e.g. openMPI4 flavors provide the exact same resolvables, e.g. "libsundials_sunlinsolklu.so.4.2.0()(64bit)" [1]. This is then manually fixed up on a case-by-case basis by manually specifying the default package.
Fedora solves this problem by adding the MPI flavor to the resolvable, e.g. "libfoo.so()(64bit)(openmpi-x86_64)". For details, see [2][3].
I would propose for (open)SUSE to follow this notation, and finally get rid of the manual workarounds.
Indeed, this problem is not new and I believe we've talked about this some years ago already. We had the same with HPC packages as well, we 'solved' it by replacing the dependency generator by one that would ignore any dependencies pointing into the HPC directories (/usr/lib/hpc) and adding dependencies manually. I had the plan to resolve it the way you've suggested adding more 'attribute tags' do the dependency to specify it with greater detail. This of course wasn't the real solution, just a workaround. I never found time to do the real solution. So indeed, if Fedora has a solution for this already (at least for the MPI problem, for HPC packages there are further challanges), we should take this into consideration. Thanks for picking this up again! Cheers, Egbert.
Kind regards, Stefan
[1] https://build.opensuse.org/package/binary/science/sundials:openmpi4/ openSUSE_Tumbleweed/x86_64/libsundials4-openmpi4-6.2.0-19.1.x86_64.rpm
[2] https://fedoraproject.org/wiki/Changes/RpmMPIReqProv [3] https://packages.fedoraproject.org/pkgs/rpm-mpi-hooks/rpm-mpi-hooks/ index.html
-- Egbert Eich (Res. & Dev.) SUSE Labs - Architect HPC Tel: +49 911-740 53 0 https://www.suse.com ----------------------------------------------------------------------- SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg Geschaeftsfuehrer: Ivo Totev (HRB 36809, AG Nürnberg)