1 |
On 29.11.2012 21:11, Ralph Sennhauser wrote: |
2 |
> On Thu, 29 Nov 2012 17:09:34 +0100 |
3 |
> justin <jlec@g.o> wrote: |
4 |
> |
5 |
>> On 29/11/12 16:51, Ian Stakenvicius wrote: |
6 |
> [...] |
7 |
>>> ..ok remind me again what the .pc files provide you? this is so |
8 |
>>> that you can have slotted blas providers and various packages can |
9 |
>>> choose their preferred one instead of having to use the eselected |
10 |
>>> one? or... |
11 |
>>> |
12 |
>> |
13 |
>> Not exactly. |
14 |
>> The user can choose for each package newly by eselecting the wanted |
15 |
>> implementation. This is the user side. From the pm side we ensure that |
16 |
>> the choice is really respected by linking against package specific |
17 |
>> names [1] instead of the generic ones e.g. libblas.so. And this can be |
18 |
>> achieved in an easy way by using pkg-config. |
19 |
>> |
20 |
>> justin |
21 |
>> |
22 |
>> 1) |
23 |
>> # eselect blas set atlas-threads |
24 |
>> # pkg-config --libs blas |
25 |
>> -lptf77blas -lm -latlas -lpthread |
26 |
>> |
27 |
>> # eselect blas set reference |
28 |
>> # pkg-config --libs blas |
29 |
>> -lrefblas |
30 |
>> |
31 |
> |
32 |
> This immediately bears the following questions: |
33 |
> |
34 |
> * How do you ensure the linked against implementation doesn't get |
35 |
> depcleaned? revdep-rebuild maybe? |
36 |
|
37 |
portage handles this fine. |
38 |
|
39 |
> |
40 |
> * How do you let users configure the implementation to be used on a per |
41 |
> package basis? Interrupt an emerge world to set the appropriate |
42 |
> implementation for the next few packages? |
43 |
> |
44 |
|
45 |
The Standard user will get reference implementation and has no problem. |
46 |
Setting individual implementation on per package basis needs to be |
47 |
considered as they-know-what-they-are-doing. Otherwise you don't know |
48 |
which implementation to choose . |