[R-sig-Debian] Compiling R-2.11.0 with ATLAS-tuned BLAS and LAPACK

Avraham Adler avraham.adler at gmail.com
Fri May 28 20:35:49 CEST 2010


Thank you both very much for the advice. It is obviously significantly
more complicated than I first thought (although I /did/ manage to
compile both ATLAS and R under windows following the instructions, go
figure :). ) so I'll stop trying to bite off more than I can chew.

Thank you again,

--Avraham

On 5/28/10, Dirk Eddelbuettel <edd at debian.org> wrote:
>
> On 28 May 2010 at 10:02, Michael Rutter wrote:
> | On 05/28/2010 01:27 AM, Avraham Adler wrote:
> | > Hello. I am a Linux neophyte and know almost nothing  about compiling,
> | > so I would appreciate any help and advice y'all would care to offer.
>
> Michael's advice is very, very good. Particularly if you are new to
> this. Compiling Atlas _well_ is hard.
>
> And as Michael says, you don't have to. You system already does this.
>
> | > I am trying to compile the 64 bit version of R using a tuned ATLAS and
> | > LAPACK (ATLAS 3.9.24). I am running Ubunto 10.04 LTS (through wubi,
> | > FWIW). The ATLAS and LAPACK files (atlas.so, f77blas.so, lapack.so,
> | > and cblas.so) are sitting in the folder "/usr/local/atlas/lib"
> | > (together with the static .a versions and some other files.
>
> Ubuntu 10.04 gives you prebuilt Atlas packages (albeit 3.6.0). Easiest
> solution.
>
> You can take the Atlas packages from Debian (3.8.*) and rebuild locally.
>
> Or you can insinst on building all this yourself but it _is_ difficult. Few
> of use here do this regularly, so few will be able to help.
>
> | > Following the R installation manual, I used the following configure
> string:
> | >
> | > ./configure --enable-R-shlib --enable-BLAS-shlib
> | > --with-blas="-L/usr/local/atlas/lib -latlas -lf77blas"
> | > --with-lapack="-L/usr/local/atlas/lib -llapack -lcblas" CFLAGS='-O3
> | > -pipe -march=native' CXXFLAGS='-O3 -pipe -march=native'
> | > R_PAPERSIZE='letter'
> | >
> | > The configuration routine returns the following errors:
> | >
> | > checking for cblas_cdotu_sub in vecLib framework... no
> | > checking for dgemm_ in -L/usr/local/atlas/lib -latlas -lf77blas... no
> | > checking for dgemm_... no
> | > checking for ATL_xerbla in -latlas... no
> | > checking for dgemm_ in -lblas... no
> | > checking for dgemm_ in -lblas... (cached) no
> | > checking for dgemm_ in -lblas... (cached) no
>
> In other words, complete failure...
>
> | > Looking at the config.log shows the following:
> | >
> | > configure:28566: checking for dgemm_ in -L/usr/local/atlas/lib -latlas
> -lf77blas
> | > configure:28587: gcc -std=gnu99 -o conftest -O3 -pipe -march=native
> | > -fpic  -I/usr/local/include  -L/usr/local/lib64 conftest.c
> | > -L/usr/local/atlas/lib -latlas -lf77blas  -lgfortran -lm -ldl -lm>&5
> | > conftest.c: In function 'main':
> | > conftest.c:193: warning: implicit declaration of function 'dgemm_'
> | > /usr/local/atlas/lib/libf77blas.so: undefined reference to
> `atl_f77wrap_zger2u_'
> | > /usr/local/atlas/lib/libf77blas.so: undefined reference to
> `atl_f77wrap_cger2c_'
> | > /usr/local/atlas/lib/libf77blas.so: undefined reference to
> `atl_f77wrap_zger2c_'
> | > /usr/local/atlas/lib/libf77blas.so: undefined reference to
> `atl_f77wrap_cger2u_'
> | > collect2: ld returned 1 exit status
> | > configure:28587: $? = 1
> | >
> | > If I run "make" after this, R starts compiling and uses its own
> | > built-in blas and lapack
> | >
> | > I tried various different flavors of the configuration line including
> | > using BLAS_LIBS and LAPACK_LIBS to pass the folder and libraries, and
> | > nothing seems to work.
> | >
> | > I do not know enough to know if the problem with my ATLAS libraries or
> | > if the problem with my attempt at compiling R. If it makes a
> | > difference, the ATLAS (3.9.24) needed to be compiled with the
> | > --allow-multiple-definitions (-z multidef) option because of what may
> | > be a bug
> (see<http://sourceforge.net/tracker/?func=detail&aid=2998779&group_id=23725&atid=379483>
> | > )
> | >
> | > I do not know if I could follow the "Shared BLAS" route suggested for
> | > ACML/Goto, as ATLAS requires two files (the f77blas library as well).
> | > Also, I would like to use the tuned lapack.
> | >
> | > I would very much appreciate any and everyones advice, as I have no
> | > idea how to proceed.
>
> I'd say start with the easy route as you can then proceed with your actual
> modeling, estimation or data work.
>
> Dirk
>
> | >
> | > Thank you,
> | >
> | > --Avraham
> | >
> |
> | Avraham,
> |
> | As has been mentioned before, the R packages available on CRAN have been
> | built with support for BLAS.  If you still want to compile your own, my
> | suggestion would be to google the following:
> |
> | "checking for dgemm_... no"
> |
> | OR
> |
> | "warning: implicit declaration of function 'dgemm_'"
> |
> | Make sure you use the quotes.  You may find an answer to your problem
> there.
> |
> | Michael
> |
> | --
> | Dr. Michael A. Rutter
> | School of Science
> | Penn State Erie, The Behrend College
> | Station Road
> | Erie, PA 16563
> | http://math.bd.psu.edu/faculty/rutter
> |
> | _______________________________________________
> | R-SIG-Debian mailing list
> | R-SIG-Debian at r-project.org
> | https://stat.ethz.ch/mailman/listinfo/r-sig-debian
>
> --
>   Regards, Dirk
>

-- 
Sent from my mobile device



More information about the R-SIG-Debian mailing list