On Tue, Jan 21, 2014 at 11:26 AM, Reinis Danne <[email protected]> wrote:

>
> How the eselect module creation could work? Something like this?
>
> ~# eselect module create blas
> ~# eselect blas add atlas importance src dest [src dest [..]]
> ...
> ~# eselect blas remove atlas
> ~# eselect delete blas
>


That is the idea. Last one should be "eselect module delete blas".


> > * given the number of bugs, we should keep the linking to the reference
> > names libraries, so we could eselect providers without re-compiling all
> > reverse dependencies. We could do this in the open sourced providers by
> > changing the soname of the libraries we compile, and in the binary ones
> > (mkl,amcl...) with a link script generated library.
>
> Yes, this is ok and AFAICT it is like that now in the overlay.
>
>
It is not. Let's take blas for example. Install openblas and
blas-reference, then eselect blas reference. Then install lapack-reference,
then remove blas-reference. You will have to re-install lapack-reference,
because of a missing reference to librefblas.so. If openblas had the
libblas.so soname and link, you would not have to. I'm actually not sure
whether it is a side effect of our as-needed policy.

We need to change all blas ebuilds to make sure they have the same soname,
and add to alternatives_for blas the libraries to link. For blas-reference,
eigen, atlas and openblas, this is just a matter of a link flag. For acml
and mkl, this is trickier, thus the gen_usr_ldscript from toolchain-funcs
eclass idea. If the ldscript stuff is not much overhead, we could apply it
to all.

Sebastien

Reply via email to