[Rd] CAR0 vs. EXTPTR_PTR

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Thu Jul 23 01:52:48 CEST 2020


On 22 July 2020 at 16:29, William Dunlap via R-devel wrote:
| I know that binary packages are R-version specific, but it was a bit
| surprising that Rcpp 1.0.5 built with R-4.0.2 cannot be loaded into
| R-4.0.0.
| 
| % R-4.0.0 --quiet
| > library(Rcpp, lib="lib-4.0.2")
| Error: package or namespace load failed for ‘Rcpp’ in dyn.load(file,
| DLLpath = DLLpath, ...):
|  unable to load shared object '/tmp/bill/lib-4.0.2/Rcpp/libs/Rcpp.so':
|   /tmp/bill/lib-4.0.2/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR
| In addition: Warning message:
| package ‘Rcpp’ was built under R version 4.0.2
| 
| It looks like R's include/Rinternals.h was rejiggered so the function
| EXTPTR_PTR is called when CAR0 used to be.   (I think they do the same
| thing.)

AFAIK it is not so much that you cannot take a 4.0.2 binary "back" to an
older R version, it is more that 4.0.0/4.0.1 had an inadvertent change that
broke things.

This came up a few times already on a few of the lists and on stackoverflow.

And simply running R 4.0.2 and building on R 4.0.2 is the safest bet.

Dirk

-- 
https://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-devel mailing list