From mark.dalphin at pacificedge.co.nz  Thu Apr 21 00:50:31 2016
From: mark.dalphin at pacificedge.co.nz (Mark Dalphin)
Date: Thu, 21 Apr 2016 10:50:31 +1200
Subject: [Rd] Fresh build from source of R-3.2.5 failing "make check" under
 64-bit Ubuntu
Message-ID: <571807B7.2070603@pacificedge.co.nz>

Hi,

Let me justify building R from source. While I can obtain R built for me
under Ubuntu, I tend to build it from scratch as we use a NFS-shared
build as well as shared R libraries for all the bioinfo staff at this
company. Only one build and one set of packages to ensure uniformity
across all workstations.

My problem is that despite using a pretty standard build process, I am
failing at the "make check" step. I don't see what I might have done
that is causing the failure.

My platform is:

> uname -a
Linux littlebourne 3.13.0-85-generic #129-Ubuntu SMP Thu Mar 17 20:50:15
UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

> cat /etc/issue
Ubuntu 14.04.4 LTS \n \l

I've downloaded the recent R-3.2.5 tar-gz file and gone through the
standard build, though in a non-standard location. I keep copies of the
tar-gzipped file in an "Archive" directory.

> gunzip -c Archive/R-3.2.5.tar.gz | tar xf -
> cd R-3.2.5/
> ./configure --prefix=/opt/apps/x86_64/R/R-3.2.5 LIBnn=lib
[ ... much output ...]
R is now configured for x86_64-pc-linux-gnu

  Source directory:          .
  Installation directory:    /opt/apps/x86_64/R/R-3.2.5

  C compiler:                gcc -std=gnu99  -g -O2
  Fortran 77 compiler:       gfortran  -g -O2

  C++ compiler:              g++  -g -O2
  C++ 11 compiler:           g++  -std=c++11 -g -O2
  Fortran 90/95 compiler:    gfortran -g -O2
  Obj-C compiler:         gcc -g -O2 -fobjc-exceptions

  Interfaces supported:      X11, tcltk
  External libraries:        readline, zlib, bzlib, lzma, PCRE
  Additional capabilities:   PNG, JPEG, TIFF, NLS, cairo
  Options enabled:           shared BLAS, R profiling

  Capabilities skipped:      ICU
  Options not enabled:       memory profiling

  Recommended packages:      yes

# Note: I use tcsh, not bash
> make >& make.out &
# There are no obvious errors and the 'make' proceeds finally through
some Java configuration
# and then exits with a zero status.

> make check >& make_check.out &
[ ... much output captured ...]
make[3]: Entering directory `/opt/apps/x86_64/R/src/R-3.2.5/tests'
running code in 'reg-tests-1a.R' ... OK
running code in 'reg-tests-1b.R' ... OK
running code in 'reg-tests-1c.R' ... OK
running code in 'reg-tests-2.R' ... OK
  comparing 'reg-tests-2.Rout' to './reg-tests-2.Rout.save' ... OK
running code in 'reg-examples1.R' ... OK
running code in 'reg-examples2.R' ... OK
running code in 'reg-packages.R' ...make[3]: *** [reg-packages.Rout] Error 1
make[3]: Leaving directory `/opt/apps/x86_64/R/src/R-3.2.5/tests'
make[2]: *** [test-Reg] Error 2
make[2]: Leaving directory `/opt/apps/x86_64/R/src/R-3.2.5/tests'
make[1]: *** [test-all-basics] Error 1
make[1]: Leaving directory `/opt/apps/x86_64/R/src/R-3.2.5/tests'
make: *** [check] Error 2

> cd tests
> tail -30 reg-packages.Rout.fail
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (pkgB)
Loading required package: pkgB
building package exNSS4 ...

installing package exNSS4 using file exNSS4_1.1.tar.gz ...
* installing *source* package 'exNSS4' ...
** R
** preparing package for lazy loading
Creating a generic function for 'plot' from package 'graphics' in
package 'exNSS4'
** help
No man pages found in package  'exNSS4'
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (exNSS4)
Loading required package: exNSS4
> (res <- installed.packages(lib.loc = "myLib", priority = "NA"))
      Package LibPath Version Priority Depends   Imports LinkingTo Suggests
myTst "myTst" "myLib" "1.0"   NA       "methods" NA      NA        NA     
      Enhances License                     License_is_FOSS
myTst NA       "What license is it under?" NA            
      License_restricts_use OS_type MD5sum NeedsCompilation Built 
myTst NA                    NA      NA     NA               "3.2.5"
> stopifnot(identical(res[,"Package"], setNames(,sort(c(p.lis, "myTst")))),
+       res[,"LibPath"] == "myLib")
Error: identical(res[, "Package"], setNames(, sort(c(p.lis, "myTst"))))
is not TRUE
Execution halted

> ls myLib
exNSS4  myTst  pkgA  pkgB

So, it looks like the "installed.packages()" is not correctly detecting
what is present in "myLib".

Has anyone else seen this? Has anyone got any ideas about what is going
wrong? My environment does not include R_LIBS, LD_LIBRARY, etc. The PATH
does include an older version of R, 3.1.1.

Regards,
Mark Dalphin



[Rd] Fresh build from source of R-3.2.5 failing "make check" under 64-bit Ubuntu
Mark Dalphin