<div dir="ltr">On Tue, Jan 21, 2014 at 1:30 PM, Reinis Danne <span dir="ltr">&lt;<a href="mailto:rei4dan@gmail.com" target="_blank">rei4dan@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><br></div><div class="im">
<br>
</div>Ok, that is different issue. The question is whether we want,<br>
e.g., eselect blas be build time only or also runtime setting.<br>
<br>
If we use provider specific sonames, then the program will use<br>
whatever provider was selected at build time even if different<br>
provider is set afterwards. Thus it is build time only setting,<br>
with the caveat that package has to be rebuilt if selected<br>
provider is removed (preserved-libs should catch this).<br>
<br>
⬑ This is how it is now in the overlay.<br></blockquote><div><br></div><div style>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. </div>
<div style><br></div><div style>Some applications (I can see armadillo, scamp) actually use the atlas-specific routines clapack_* routines. </div><div style>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.</div>
<div style><br></div><div style>As a user, I don&#39;t particularly enjoy rebuilding octave, ROOT, R, or the scipy stack. @preserved-rebuild is more a hack than a feature.</div><div style>I don&#39;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.<br>
</div><div style><br></div><div style>Sebastien </div></div></div></div>