On Tue, Jan 21, 2014 at 1:30 PM, Reinis Danne wrote: > > > Ok, that is different issue. The question is whether we want, > e.g., eselect blas be build time only or also runtime setting. > > If we use provider specific sonames, then the program will use > whatever provider was selected at build time even if different > provider is set afterwards. Thus it is build time only setting, > with the caveat that package has to be rebuilt if selected > provider is removed (preserved-libs should catch this). > > ⬑ This is how it is now in the overlay. > One other advantage of keeping the generic names is also that maintainer would not have to modify the ebuild for packages to link with the selected provider. Most blas dependent packages assume there is /usr/lib/libblas.so. Some applications (I can see armadillo, scamp) actually use the atlas-specific routines clapack_* routines. We could aim at keeping both the library soname and filename as close to upstream, and add an option to the alternative framework to create a ldscript with a generic soname and filename, turned on for blas and cblas at least. As a user, I don't particularly enjoy rebuilding octave, ROOT, R, or the scipy stack. @preserved-rebuild is more a hack than a feature. I don't know how many people actually switch providers, besides a first benchmark test. My guess is probably not many given the burden of re-compiling all the reverse dependencies and the previous fragility of the system. Sebastien