[Rd] --enable-BLAS-shlib conflict with --with-lapack in configure?
Bjørn-Helge Mevik
b.h.mevik at usit.uio.no
Thu Jul 3 10:58:26 CEST 2008
Dear developeRs,
I'm trying to build R (2.7.1, on an x86_64 running Linux, but I believe
I have observed this on x86 and with earlier versions of R as well)
using external BLAS and LAPACK libraries _and_ generating libR.so,
libRblas.so and libRlapack.so.
Without --enable-BLAS-shlib, configure is able to find and use the
external LAPACK library:
./configure \
--with-blas="-L/site/intel/cmkl/8.1/lib/em64t -lmkl -lvml -lguide -lpthread" \
--with-lapack="-L/site/intel/cmkl/8.1/lib/em64t -lmkl_lapack64 -lmkl" \
--enable-R-shlib
[...]
External libraries: readline, BLAS(generic), LAPACK(generic)
Additional capabilities: PNG, JPEG, iconv, MBCS, NLS
Options enabled: shared R library, R profiling, Java
However, if I add --enable-BLAS-shlib, the external LAPACK will not be
used:
./configure \
--with-blas="-L/site/intel/cmkl/8.1/lib/em64t -lmkl -lvml -lguide -lpthread" \
--with-lapack="-L/site/intel/cmkl/8.1/lib/em64t -lmkl_lapack64 -lmkl" \
--enable-R-shlib --enable-BLAS-shlib
[...]
checking for zgeev_ in -L/site/intel/cmkl/8.1/lib/em64t -lmkl_lapack64 -lmkl... no
checking for zgeev_ in -llapack... no
[...]
External libraries: readline, BLAS(generic)
Additional capabilities: PNG, JPEG, iconv, MBCS, NLS
Options enabled: shared R library, shared BLAS, R profiling, Java
>From config.log, it seems configure is trying to link with libRblas when
testing for LAPACK -- but that has not been built yet:
configure:37825: checking for zgeev_
configure:37889: gcc -std=gnu99 -o conftest -g -O2 -fpic -I/usr/local/include -L/usr/local/lib64 conftest.c
-L$(R_HOME)/lib$(R_ARCH) -lRblas -lg2c -lm -ldl -lm >&5
/usr/bin/ld: cannot find -lRblas
[...]
configure:37924: checking for zgeev_ in -L/site/intel/cmkl/8.1/lib/em64t -lmkl_lapack64 -lmkl
configure:37962: gcc -std=gnu99 -o conftest -g -O2 -fpic -I/usr/local/include -L/usr/local/lib64 conftest.c
-L/site/intel/cmkl/8.1/lib/em64t -lmkl_lapack64 -lmkl -L$(R_HOME)/lib$(R_ARCH) -lRblas -lg2c -lm -ldl -lm >&
5
/usr/bin/ld: cannot find -lRblas
[...]
configure:37993: checking for zgeev_ in -llapack
configure:38036: gcc -std=gnu99 -o conftest -g -O2 -fpic -I/usr/local/include -L/usr/local/lib64 conftest.c
-llapack -L$(R_HOME)/lib$(R_ARCH) -lRblas -lg2c -lm -ldl -lm >&5
/usr/bin/ld: cannot find -lRblas
(Removing the --enable-R-shlib does not make a difference in this
respect.)
Is this intentional or a bug? Am I doing something wrong here?
--
Regards,
Bjørn-Helge Mevik
More information about the R-devel
mailing list