Dear All,
Summary:
========
To test some packages, I want to build R-3.1.0 (current R devel). However,
when I use the default libblas, make check fails with
running code in 'reg-BLAS.R' ...make[3]: *** [reg-BLAS.Rout] Error 1
It does not fail, however, if I use libatlas3 or libopenblas.
The same thing happens with the current R patched.
I've google around and cannot find anything, and I find it very surprising
that make check fails here.
Details:
========
- I have checked this with R-devel from 19 December and 26 December, as
well as with the current R patched (2013-12-27, r64562)
- Check fails when
ls -l /usr/lib/libblas.so.3 /etc/alternatives/libblas.so.3
lrwxrwxrwx 1 root root 29 Dec 28 10:31 /etc/alternatives/libblas.so.3 -> /usr/lib/libblas/libblas.so.3
lrwxrwxrwx 1 root root 30 Oct 3 2012 /usr/lib/libblas.so.3 ->
/etc/alternatives/libblas.so.3
- Version of libblas:
libblas-dev 1.2.20110419 amd64
libblas3 1.2.20110419 amd64
- Check is OK when
ls -l /usr/lib/libblas.so.3 /etc/alternatives/libblas.so.3
lrwxrwxrwx 1 root root 38 Dec 28 11:04 /etc/alternatives/libblas.so.3 -> /usr/lib/atlas-base/atlas/libblas.so.3
lrwxrwxrwx 1 root root 30 Jul 26 2012 /usr/lib/libblas.so.3 -> /etc/alternatives/libblas.so.3
- Version of libatlas
libatlas3-base 3.10.1-2
(I also tried with openblas, and it worked just fine)
- This happens in three different systems, one using gcc-4.7.2 (Debian
4.7.2-5) and two with 4.8.2 (Debian 4.8.2-1)
- I have configured and compiled R trying to follow debian/rules in the
r-base-core package. This is what I do:
## with gcc-4.8 using -O3 or -O2 both lead to the check failure
optimflags="-O2 -pipe -g"
export CC="gcc -std=gnu99"
export CXX=g++
export F77=gfortran
export FC=gfortran
export CFLAGS=$optimflags
export CXXFLAGS=$optimflags
export FFLAGS=$optimflags
export FCFLAGS=$optimflags
export LDFLAGS=-Wl,-O1
./configure --with-cairo \
--with-jpeglib \
--with-readline \
--with-tcltk \
--with-system-bzlib \
--with-system-pcre \
--with-system-zlib \
--with-blas \
--with-lapack \
--enable-R-profiling \
--enable-R-shlib \
--build=x86_64-linux-gnu \
--with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh \
--with-tk-config=/usr/lib/tk8.5/tkConfig.sh
make -j8
Is this a know problem? Am I doing something wrong?
Best,
R.
Ramon Diaz-Uriarte
Department of Biochemistry, Lab B-25
Facultad de Medicina
Universidad Aut?noma de Madrid
Arzobispo Morcillo, 4
28029 Madrid
Spain
Phone: +34-91-497-2412
Email: rdiaz02 at gmail.com
ramon.diaz at iib.uam.es
http://ligarto.org/rdiaz
On 28 December 2013 at 12:32, Ramon Diaz-Uriarte wrote:
| Dear All,
|
| Summary:
| ========
|
| To test some packages, I want to build R-3.1.0 (current R devel). However,
| when I use the default libblas, make check fails with
|
| running code in 'reg-BLAS.R' ...make[3]: *** [reg-BLAS.Rout] Error 1
|
|
| It does not fail, however, if I use libatlas3 or libopenblas.
|
|
| The same thing happens with the current R patched.
|
|
| I've google around and cannot find anything, and I find it very surprising
| that make check fails here.
|
|
| Details:
| ========
|
| - I have checked this with R-devel from 19 December and 26 December, as
| well as with the current R patched (2013-12-27, r64562)
|
| - Check fails when
| ls -l /usr/lib/libblas.so.3 /etc/alternatives/libblas.so.3
| lrwxrwxrwx 1 root root 29 Dec 28 10:31 /etc/alternatives/libblas.so.3 -> /usr/lib/libblas/libblas.so.3
| lrwxrwxrwx 1 root root 30 Oct 3 2012 /usr/lib/libblas.so.3 ->
| /etc/alternatives/libblas.so.3
|
| - Version of libblas:
| libblas-dev 1.2.20110419 amd64
| libblas3 1.2.20110419 amd64
|
|
| - Check is OK when
| ls -l /usr/lib/libblas.so.3 /etc/alternatives/libblas.so.3
| lrwxrwxrwx 1 root root 38 Dec 28 11:04 /etc/alternatives/libblas.so.3 -> /usr/lib/atlas-base/atlas/libblas.so.3
| lrwxrwxrwx 1 root root 30 Jul 26 2012 /usr/lib/libblas.so.3 -> /etc/alternatives/libblas.so.3
|
| - Version of libatlas
| libatlas3-base 3.10.1-2
|
|
| (I also tried with openblas, and it worked just fine)
|
|
| - This happens in three different systems, one using gcc-4.7.2 (Debian
| 4.7.2-5) and two with 4.8.2 (Debian 4.8.2-1)
|
| - I have configured and compiled R trying to follow debian/rules in the
| r-base-core package. This is what I do:
|
| ## with gcc-4.8 using -O3 or -O2 both lead to the check failure
| optimflags="-O2 -pipe -g"
| export CC="gcc -std=gnu99"
| export CXX=g++
| export F77=gfortran
| export FC=gfortran
| export CFLAGS=$optimflags
| export CXXFLAGS=$optimflags
| export FFLAGS=$optimflags
| export FCFLAGS=$optimflags
| export LDFLAGS=-Wl,-O1
|
| ./configure --with-cairo \
| --with-jpeglib \
| --with-readline \
| --with-tcltk \
| --with-system-bzlib \
| --with-system-pcre \
| --with-system-zlib \
| --with-blas \
| --with-lapack \
| --enable-R-profiling \
| --enable-R-shlib \
| --build=x86_64-linux-gnu \
| --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh \
| --with-tk-config=/usr/lib/tk8.5/tkConfig.sh
|
| make -j8
|
|
|
| Is this a know problem? Am I doing something wrong?
I don't think it is a known issue. Can you isolate the actual test that
fails? How big is the actual discrepancy? We should probably bring it to the
attention of the refblas maintainer.
You did what I do -- telling R to use external blas. In an ideal world the
resulting behaviour should be identical for all available BLAS implementations.
Dirk
| Best,
|
|
| R.
|
|
| --
| Ramon Diaz-Uriarte
| Department of Biochemistry, Lab B-25
| Facultad de Medicina
| Universidad Aut?noma de Madrid
| Arzobispo Morcillo, 4
| 28029 Madrid
| Spain
|
| Phone: +34-91-497-2412
|
| Email: rdiaz02 at gmail.com
| ramon.diaz at iib.uam.es
|
| http://ligarto.org/rdiaz
|
| _______________________________________________
| R-SIG-Debian mailing list
| R-SIG-Debian at r-project.org
| https://stat.ethz.ch/mailman/listinfo/r-sig-debian
On Sat, 28-12-2013, at 19:16, edd at debian.org wrote:
On 28 December 2013 at 12:32, Ramon Diaz-Uriarte wrote:
| Dear All,
|
| Summary:
| ========
|
| To test some packages, I want to build R-3.1.0 (current R devel). However,
| when I use the default libblas, make check fails with
|
| running code in 'reg-BLAS.R' ...make[3]: *** [reg-BLAS.Rout] Error 1
|
|
| It does not fail, however, if I use libatlas3 or libopenblas.
|
|
| The same thing happens with the current R patched.
|
|
| I've google around and cannot find anything, and I find it very surprising
| that make check fails here.
|
|
| Details:
| ========
|
| - I have checked this with R-devel from 19 December and 26 December, as
| well as with the current R patched (2013-12-27, r64562)
|
| - Check fails when
| ls -l /usr/lib/libblas.so.3 /etc/alternatives/libblas.so.3
| lrwxrwxrwx 1 root root 29 Dec 28 10:31 /etc/alternatives/libblas.so.3 -> /usr/lib/libblas/libblas.so.3
| lrwxrwxrwx 1 root root 30 Oct 3 2012 /usr/lib/libblas.so.3 ->
| /etc/alternatives/libblas.so.3
|
| - Version of libblas:
| libblas-dev 1.2.20110419 amd64
| libblas3 1.2.20110419 amd64
|
|
| - Check is OK when
| ls -l /usr/lib/libblas.so.3 /etc/alternatives/libblas.so.3
| lrwxrwxrwx 1 root root 38 Dec 28 11:04 /etc/alternatives/libblas.so.3 -> /usr/lib/atlas-base/atlas/libblas.so.3
| lrwxrwxrwx 1 root root 30 Jul 26 2012 /usr/lib/libblas.so.3 -> /etc/alternatives/libblas.so.3
|
| - Version of libatlas
| libatlas3-base 3.10.1-2
|
|
| (I also tried with openblas, and it worked just fine)
|
|
| - This happens in three different systems, one using gcc-4.7.2 (Debian
| 4.7.2-5) and two with 4.8.2 (Debian 4.8.2-1)
|
| - I have configured and compiled R trying to follow debian/rules in the
| r-base-core package. This is what I do:
|
| ## with gcc-4.8 using -O3 or -O2 both lead to the check failure
| optimflags="-O2 -pipe -g"
| export CC="gcc -std=gnu99"
| export CXX=g++
| export F77=gfortran
| export FC=gfortran
| export CFLAGS=$optimflags
| export CXXFLAGS=$optimflags
| export FFLAGS=$optimflags
| export FCFLAGS=$optimflags
| export LDFLAGS=-Wl,-O1
|
| ./configure --with-cairo \
| --with-jpeglib \
| --with-readline \
| --with-tcltk \
| --with-system-bzlib \
| --with-system-pcre \
| --with-system-zlib \
| --with-blas \
| --with-lapack \
| --enable-R-profiling \
| --enable-R-shlib \
| --build=x86_64-linux-gnu \
| --with-tcl-config=/usr/lib/tcl8.5/tclConfig.sh \
| --with-tk-config=/usr/lib/tk8.5/tkConfig.sh
|
| make -j8
|
|
|
| Is this a know problem? Am I doing something wrong?
I don't think it is a known issue. Can you isolate the actual test that
fails? How big is the actual discrepancy? We should probably bring it to the
attention of the refblas maintainer.
Let's start by the end: it turns out that the file in question
(tests/reg-BLAS.R) says
## depended on the BLAS in use: some (including the reference BLAS)
## had z[1,3] == 0 and log(0) %*% 0 as as.matrix(0).
which are precisely the tests that fail (see below). So I guess this is a
known/suspected possible issue, and thus not really a problem. Sorry for
the noise.
The next is just for the sake of completeness: this is what fails:
##########################################
x <- matrix(c(1, 0, NA, 1), 2, 2)
y <- matrix(c(1, 0, 0, 2, 1, 0), 3, 2)
(z <- tcrossprod(x, y))
## This fails
stopifnot(identical(z, x %*% t(y)))
##
## > z
## [,1] [,2] [,3]
## [1,] NA NA 0
## [2,] 2 1 0
##
## > x %*% t(y)
## [,1] [,2] [,3]
## [1,] NA NA NA
## [2,] 2 1 0
##
## This fails too
## stopifnot(is.nan(log(0) %*% 0))
## > log(0) %*% 0
## [,1]
## [1,] 0
##
You did what I do -- telling R to use external blas. In an ideal world the
resulting behaviour should be identical for all available BLAS implementations.
I guess I just saw a glimpse of a non-ideal world, but it wasn't that bad
this time :-)
Best,
R.
Dirk
| Best,
|
|
| R.
|
|
| --
| Ramon Diaz-Uriarte
| Department of Biochemistry, Lab B-25
| Facultad de Medicina
| Universidad Aut?noma de Madrid
| Arzobispo Morcillo, 4
| 28029 Madrid
| Spain
|
| Phone: +34-91-497-2412
|
| Email: rdiaz02 at gmail.com
| ramon.diaz at iib.uam.es
|
| http://ligarto.org/rdiaz
|
| _______________________________________________
| R-SIG-Debian mailing list
| R-SIG-Debian at r-project.org
| https://stat.ethz.ch/mailman/listinfo/r-sig-debian
Ramon Diaz-Uriarte
Department of Biochemistry, Lab B-25
Facultad de Medicina
Universidad Aut?noma de Madrid
Arzobispo Morcillo, 4
28029 Madrid
Spain
Phone: +34-91-497-2412
Email: rdiaz02 at gmail.com
ramon.diaz at iib.uam.es
http://ligarto.org/rdiaz