1 |
Le jeudi 29 novembre 2012 à 08:52 +0100, justin a écrit : |
2 |
> Currently we have an eselect module to switch between different |
3 |
> implementations by setting /usr/lib/lib[blas,lapack].so to the selected |
4 |
> implementation. |
5 |
> |
6 |
> This has two drawbacks, which some of you might already of hit: |
7 |
> 1. They seem to be not completely API/ABI compatible (I don't which one |
8 |
> is correct here. And please don't be nitpicking on this point). So |
9 |
> switching would mean recompilation of all packages linked against it |
10 |
> before, otherwise you might get runtime errors. This takes time and |
11 |
> triggers point 2. |
12 |
> |
13 |
> 2. As andy showed we should stick with specific implementations for |
14 |
> specific tasks. The current way flattens this out to be optimal for some |
15 |
> and suboptimal for others. |
16 |
> |
17 |
> Now, there has been a lot of effort around Andy and Sebastien to solve |
18 |
> this problem. The solution is simple: don't install any libblas.so or |
19 |
> liblapack.so in libdir, but instead make the pkg-config module |
20 |
> eselectable and force packages to used pkg-config. Nearly (I think its |
21 |
> 100%) of the packages in the tree already use pkg-config to detect |
22 |
> blas/lapack. |
23 |
|
24 |
I think I understand the problem now. You should not patch/generate .pc |
25 |
files but install them to an implementation specific subdirectory. |
26 |
|
27 |
That way, you just have to append that path to PKGCONFIG_PATH when |
28 |
configuring your package using blas and you should be able to |
29 |
transparently select which implementation to get without further |
30 |
patching of either upstream or downstream packages. |
31 |
|
32 |
-- |
33 |
Gilles Dartiguelongue <eva@g.o> |
34 |
Gentoo |