[R-sig-Debian] GotoBLAS2 breaks lapack

Paul Johnson pauljohn32 at gmail.com
Mon Feb 28 04:54:26 CET 2011


On Fri, Feb 25, 2011 at 9:13 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
>
> On 25 February 2011 at 21:47, dks wrote:
> edd at max:~/atlas$ dpkg -c /var/spool/gotoblas2-helper/archive/gotoblas2_1.13-1_amd64.deb |grep lib
> drwxr-xr-x root/root         0 2010-07-05 18:57 ./usr/lib/
> drwxr-xr-x root/root         0 2010-07-05 19:00 ./usr/lib/gotoblas2/
> -rw-r--r-- root/root  10445138 2010-07-05 19:00 ./usr/lib/gotoblas2/libblas.a
> -rw-r--r-- root/root   8672978 2010-07-05 19:00 ./usr/lib/gotoblas2/liblapack.a
> -rw-r--r-- root/root   5491025 2010-07-05 19:00 ./usr/lib/gotoblas2/libblas.so.3gf.0
> -rw-r--r-- root/root   7427273 2010-07-05 19:00 ./usr/lib/gotoblas2/liblapack.so.3gf.0
> edd at max:~/atlas$
>
> you see that I got libblas.so and liblapack.so.
>
> So your crashes / lack of lapack success may well be due to Goto assuming its
> own lapack, but not getting it.
>
> Dirk
>

Hello, Dirk

I know my students will ask me, so I'm asking you...

Suppose the administrator has the Atlas blas installed, as well as the
revolution-mkl, and then also the GOTOblas.  How does R--as you
package it--select which one to use?

Following the R Install and Admin manual,  Section A.3.1, I've built R
with shared blas and then created the symbolic links to choose among
the alternative BLAS.

I mean, if a person has GOTOblas installed as you describe above, and
revolution-mkl is installed, giving this:

revolution-mkl :

/usr/lib/R/lib/libblas.so.3gf
/usr/lib/R/lib/libguide.so
/usr/lib/R/lib/liblapack.so.3gf
/usr/lib/R/lib/libblas.so
/usr/lib/R/lib/liblapack.so


Atlas gives this same-looking stuff, but in a different location:

/usr/lib/atlas-base/libatlas.so.3gf.0
/usr/lib/atlas-base/libcblas.so.3gf.0
/usr/lib/atlas-base/libf77blas.so.3gf.0
/usr/lib/atlas-base/liblapack_atlas.so.3gf.0
/usr/lib/atlas-base/atlas
/usr/lib/atlas-base/atlas/libblas.so.3gf.0
/usr/lib/atlas-base/atlas/liblapack.so.3gf.0
/usr/lib/atlas-base/libatlas.so.3gf
/usr/lib/atlas-base/libcblas.so.3gf
/usr/lib/atlas-base/libf77blas.so.3gf
/usr/lib/atlas-base/liblapack_atlas.so.3gf
/usr/lib/atlas-base/atlas/libblas.so.3gf
/usr/lib/atlas-base/atlas/liblapack.so.3gf

To select among those, it seems necessary to go along with the R
Install &Admin manual and fiddle some symbolic links:

$ rm /usr/lib/R/lib/libblas.so

and

$ ln -sf /usr/lib/gotoblas2/libblas.so.3gf.0 /usr/lib/R/lib/libblas.so

Hence, I don't understand the OP's point about all of those Ubuntu
guides which advise him to use symbolic links.  How can you get along
without them?

Hm. I guess we could fiddle around in /etc/alternatives with deb
packaging.  But that's same as fiddling sym links.

pj

-- 
Paul E. Johnson
Professor, Political Science
1541 Lilac Lane, Room 504
University of Kansas



More information about the R-SIG-Debian mailing list