Gentoo Archives: gentoo-science

From: jody <jody.xha@×××××.com>
To: gentoo-science@l.g.o
Subject: Re: [gentoo-science] Fwd: sci-lib/atlas, static libraries, cblas, lapack
Date: Tue, 03 Sep 2013 15:29:08
Message-Id: CAKbzMGd8qbhSzZBtjNw2RtuggUrVgr9+-0nsK1k7Khv-fRgM5w@mail.gmail.com
In Reply to: Re: [gentoo-science] Fwd: sci-lib/atlas, static libraries, cblas, lapack by jody
1 Hi
2 I think i begin to see how things have to work....
3 Just to make sure i understood correctly:
4 - the directories /usr/lib64/blas/reference/ and
5 /usr/lib64/lapack/reference/ and the libraries they contained are
6 irrelevant for the science overlay
7 - generally one compiles an application using cblas with `pkg-config
8 --cflags cblas` and links it with `pkg-config --libs cblas` (and similarly
9 for blas and lapack)
10 Is this correct?
11
12 Thank You
13 Jody
14
15
16 On Tue, Sep 3, 2013 at 11:57 AM, jody <jody.xha@×××××.com> wrote:
17
18 > Hi Francois
19 > Thanks for your reply.
20 >
21 > I already had eselect from the science overlay: version 1.3.7-r100[1] ([1]
22 > refers to the science overlay)
23 > and eselect-blas, eselect-cblas and eselect-lapack were already removed (i
24 > had to do this to emerge atlas).
25 >
26 > Now I unmasked and emerged the virtuals cblas, blas and lapack from the
27 > science overlay.
28 >
29 > when i look at the lib64 directory, i see
30 > aim-octopus ~ # ls -l /usr/lib64/liblapack.*
31 > lrwxrwxrwx 1 root root 28 Aug 20 09:43 /usr/lib64/liblapack.a ->
32 > lapack/reference/liblapack.a
33 > lrwxrwxrwx 1 root root 29 Aug 20 09:43 /usr/lib64/liblapack.so ->
34 > lapack/reference/liblapack.so
35 > lrwxrwxrwx 1 root root 31 Aug 20 09:43 /usr/lib64/liblapack.so.0 ->
36 > lapack/reference/liblapack.so.0
37 > aim-octopus ~ # ls -l /usr/lib64/libcblas.*
38 >
39 > lrwxrwxrwx 1 root root 13 Aug 20 10:54 /usr/lib64/libcblas.a ->
40 > libgslcblas.a
41 > lrwxrwxrwx 1 root root 14 Aug 20 10:54 /usr/lib64/libcblas.so ->
42 > libgslcblas.so
43 > lrwxrwxrwx 1 root root 16 Aug 20 10:54 /usr/lib64/libcblas.so.0 ->
44 > libgslcblas.so.0
45 > aim-octopus ~ # ls -l /usr/lib64/libblas.*
46 > lrwxrwxrwx 1 root root 24 Aug 19 18:07 /usr/lib64/libblas.a ->
47 > blas/reference/libblas.a
48 > lrwxrwxrwx 1 root root 25 Aug 19 18:07 /usr/lib64/libblas.so ->
49 > blas/reference/libblas.so
50 > lrwxrwxrwx 1 root root 27 Aug 19 18:07 /usr/lib64/libblas.so.0 ->
51 > blas/reference/libblas.so.0
52 >
53 > I found .pc files in /usr/lib64/blas/reference/ and
54 > /usr/lib64/lapack/reference/ but there is no directory
55 > /usr/lib64/cblas/reference. How can i get the cblas from the science
56 > overlay?
57 >
58 > I noticed that i have sci-libs/*-reference for blas and lapack emerged
59 > (even though none of them are from the science overlay) but no
60 > sci-libs/cblas-reference:
61 > aim-octopus ~ # eix blas-reference
62 > [I] sci-libs/blas-reference
63 > Available versions: 20070226 ~20070226-r2 **20070226-r3 ~20120925[1]
64 > **99999999[1] {{doc static-libs test}}
65 > Installed versions: 20070226(18:07:30 08/19/13)(-doc)
66 > Homepage: http://www.netlib.org/lapack/
67 > Description: Reference implementation of BLAS
68 >
69 > aim-octopus ~ # eix lapack-reference
70 > [I] sci-libs/lapack-reference
71 > Available versions: 3.1.1-r1 ~3.2.1-r1 **3.2.1-r3 ~3.4.2[1]
72 > **9999[1] {{doc static-libs test xblas}}
73 > Installed versions: 3.1.1-r1(09:43:40 08/20/13)(-doc)
74 > Homepage: http://www.netlib.org/lapack/
75 > Description: Reference implementation of LAPACK
76 >
77 > [1] "science" /var/lib/layman/science
78 >
79 > aim-octopus ~ # eix cblas-reference
80 > * sci-libs/cblas-reference
81 > Available versions: 20030223-r4 ~20030223-r5 ~20110218[1]
82 > {{static-libs}}
83 > Homepage: http://www.netlib.org/blas/
84 > Description: C wrapper interface to the F77 reference BLAS
85 > implementation
86 >
87 > [1] "science" /var/lib/layman/science
88 >
89 >
90 > Do i need to emerge sci-libs/cblas-reference?
91 > Do i need to unmask and emerge the overlay versions for all
92 > sci-libs/*-reference as well?
93 >
94 >
95 > I am sorry, but i don't understand what you said about the .pc files.
96 > In what situation and how should i use the .pc file?
97 >
98 > Thanks
99 > Jody
100 >
101 >
102 >
103 > On Tue, Sep 3, 2013 at 12:57 AM, François Bissey <fbissey@××××××××××××.nz>wrote:
104 >
105 >> Hi Jody,
106 >>
107 >> The mechanism for handling multiple BLAS/LAPACK in the science overlay
108 >> is incompatible with the one used in the main tree.
109 >> In particular the science overlay stack doesn't create link link to
110 >> libcblas,
111 >> libblas and liblapack.
112 >> You have to unmask eselect from the science overlay as well as the
113 >> virtuals
114 >> (cblas,blas and lapack) and remove all the tree eselect-blas,
115 >> eselect-cblas
116 >> and eselect-lapack modules.
117 >> No packages in Gentoo, in the tree or the overlay, should use libblas,
118 >> libcblas or
119 >> liblapack directly but configure it throught pkg-config.
120 >> All BLAS/LAPACK implementation in Gentoo provide .pc file for that
121 >> purpose. With
122 >> the new science overlay structure you create a link for which .pc file is
123 >> the default.
124 >>
125 >> So once you have completed your move to the science overlay stack you
126 >> need to remove
127 >> those links if they still exist.
128 >>
129 >> Francois
130 >>
131 >>
132 >> On 2013-09-02 19:04, jody wrote:
133 >>
134 >>> Hi
135 >>> I have successfully installed sci-libs/atlas from the science overlay.
136 >>>
137 >>> Now there are some points which are somewhat unclear.
138 >>>
139 >>> I have been redirected here from the gentoo forum.
140 >>>
141 >>> 1. cblas implementation
142 >>> Even though
143 >>>
144 >>> # eselect cblas list
145 >>> Available providers for cblas:
146 >>> [1] atlas *
147 >>> [2] atlas-threads
148 >>>
149 >>> all cblas libraries are pointing to gsl implementations:
150 >>>
151 >>> ls -l /usr/lib64/libcblas.*
152 >>> lrwxrwxrwx 1 root root 13 Aug 20 10:54 /usr/lib64/libcblas.a ->
153 >>> libgslcblas.a
154 >>> lrwxrwxrwx 1 root root 14 Aug 20 10:54 /usr/lib64/libcblas.so ->
155 >>> libgslcblas.so
156 >>> lrwxrwxrwx 1 root root 16 Aug 20 10:54 /usr/lib64/libcblas.so.0 ->
157 >>> libgslcblas.so.0
158 >>>
159 >>> Shouldn't the '/usr/lib64/libcblas.so' point to
160 >>> '/usr/lib64/libatlcblas.so' etc.?
161 >>>
162 >>> 2. static libs for cblas
163 >>> The installation of sci-libs/atlas did not create any static libs:
164 >>>
165 >>> ls -l /usr/lib64/libatl*
166 >>> lrwxrwxrwx 1 root root 13 Aug 22 09:11 /usr/lib64/libatlas.so
167 >>> -> libatlas.so.3
168 >>> -rwxr-xr-x 1 root root 5961968 Aug 22 09:11 /usr/lib64/libatlas.so.3
169 >>> lrwxrwxrwx 1 root root 16 Aug 22 09:11
170 >>> /usr/lib64/libatlcblas.so -> libatlcblas.so.3
171 >>> -rwxr-xr-x 1 root root 142504 Aug 22 09:11
172 >>> /usr/lib64/libatlcblas.so.3
173 >>>
174 >>> And i have at least one 3rd party code which requires the cblas
175 >>> libraries to be linked statically.
176 >>>
177 >>> 3. eselect lapack
178 >>> I found that 'app-admin/eselect-lapack' is blocking 'sci-libs/atlas',
179 >>>
180 >>> but atlas did not pull in eselect for lapack:
181 >>>
182 >>> # eselect lapack list
183 >>> !!! Error: Can't load module lapack
184 >>> exiting
185 >>>
186 >>> eselect-cblas is also blocking 'sci-libs/atlas', but apparently atlas
187 >>> pulls in eselect for cblas.
188 >>>
189 >>> 4. Shouldn't there also be a lapack implementation from atlas?
190 >>>
191 >>> Could somebody clarify or help out?
192 >>> Jody
193 >>>
194 >>
195 >>
196 >

Replies

Subject Author
Re: [gentoo-science] Fwd: sci-lib/atlas, static libraries, cblas, lapack "François Bissey" <fbissey@××××××××××××.nz>