Mailinglist Archive: opensuse-factory (914 mails)

< Previous Next >
Re: [opensuse-factory] Shared library policy - multiple providers for a single API/ABI
On Sat, 3 Jun 2017, Jan Engelhardt wrote:

On Saturday 2017-06-03 19:38, Stefan Bruens wrote:

But there is no specification for libraries available in different variants,
i.e. different implementations or optimizations, with compatible ABI.

You are correct in that it is not specified. One could say that we were still
experimenting with what works. One arm of that experiment was Mesa-libGL1.

openblas [...] three libraries [..] each one carries its own SONAME

Different SONAME => different package names. It's that simple.

Now, it is trivial to set the SONAME for all three implementations to, but unfortunately rpmlint insist on the package name to be
libopenblas0 in this case, with no possibility to have different package
for the three variants.

The pattern is [vendor-][libblah1][-variant].rpm, stemming from the "other"
arm of the experiment that is libatomic1-gcc6, libblasc2-openmp.

With the important part that each of the variants shall

Provide: libblah1 = %version
Conflict: libblah1

to explicitely disallow installing multiple variants at the same time
(you'll get file conflicts) plus make requiring them via sth other
than the SONAME auto generated provides possible.

Note that in case of libopenblas_serial vs. libopenblas_pthreads vs.
libopenblas_openmp it's also a matter of how an application was built
thus using the same SONAME for this might not be what you want as
you do want the possibility to run a OpenMP app at the same time
as a serial one both using openblas.


Richard Biener <rguenther@xxxxxxx>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB
21284 (AG Nuernberg)
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups