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

Michael Rutter mar36 at psu.edu
Fri May 28 16:02:13 CEST 2010


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.
>
> 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.
>
> 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
>
> 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.
>
> 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



More information about the R-SIG-Debian mailing list