From edd at debian.org  Mon Jun  8 03:14:27 2015
From: edd at debian.org (Dirk Eddelbuettel)
Date: Sun, 7 Jun 2015 20:14:27 -0500
Subject: [Rd] Bug in loadNamespace?
In-Reply-To: <5574E5C8.1010902@gmail.com>
References: <5574E5C8.1010902@gmail.com>
Message-ID: <21876.60531.689839.424259@max.nulle.part>


On 7 June 2015 at 20:46, Duncan Murdoch wrote:
| I am seeing very strange behaviour in R 3.2.0 patched (r68272) and a new
| build of R-devel.  The sessioninfo() from the former is below.
| 
| Here's what I see:  If I set the locale, and trigger a namespace load, a
| version comparison gives NA, and I get an error.  For example, in a new
| session started with R --vanilla from the terminal:
| 
| > Sys.setlocale(locale='en_US.UTF-8');grid::gpar()
| [1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_CA.UTF-8"
| Error in if (R_version_built_under < "3.0.0") stop(gettextf("package %s
| was built before R 3.0.0: please re-install it",  :
|   missing value where TRUE/FALSE needed
| 
| I've tried debugging this, and the bad lines are these, in loadNamespace:
| 
| R_version_built_under <- as.numeric_version(built$R)
| if (R_version_built_under < "3.0.0") stop(gettextf("package %s was built
| before R 3.0.0: please re-install it",
|     sQuote(basename(pkgpath))), call. = FALSE, domain = NA)
| 
| These are in the src/library/base/R/namespace.R file, around line 379.
| 
| If I stop it before the if and evaluate R_version_built_under, it looks
| fine.  If I stop it there and evaluate
| 
| R_version_built_under < "3.0.0"
| 
| I get NA.  If I evaluate it again without changing anything, I get FALSE.
| 
| Does anyone else see this?  Any ideas on what might be the cause?

I don't see it on Ubuntu with a fresh R-devel:

edd at max:~/svn/r-devel$ RD

R Under development (unstable) (2015-06-06 r68485) -- "Unsuffered Consequences"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

R> Sys.setlocale(locale='en_US.UTF-8');grid::gpar()
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C"
list()
R> 

I don't have r-patched handy or I'd try that too.

Dirk
 
| 
| > sessionInfo()
| R version 3.2.0 Patched (2015-04-28 r68272)
| Platform: x86_64-apple-darwin13.4.0 (64-bit)
| Running under: OS X 10.9.5 (Mavericks)
| 
| locale:
| [1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8
| 
| attached base packages:
| [1] stats     graphics  grDevices utils     datasets  methods   base
| 
| 
| Duncan Murdoch
| 
| ______________________________________________
| R-devel at r-project.org mailing list
| https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



[Rd] Bug in loadNamespace?
Dirk Eddelbuettel