[Rd] R CMD build then check fails on R-devel due to serialization version
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Jan 10 21:52:57 CET 2018
On 10/01/2018 1:26 PM, Neal Richardson wrote:
> Hi,
> Since yesterday I'm seeing `R CMD check --as-cran` failures on the
> R-devel daily build (specifically, R Under development (unstable)
> (2018-01-09 r74100)) for multiple packages:
>
> * checking serialized R objects in the sources ... WARNING
> Found file(s) with version 3 serialization:
> ‘build/vignette.rds’
> Such files are only readable in R >= 3.5.0.
> Recreate them with R < 3.5.0 or save(version = 2) or saveRDS(version =
> 2) as appropriate
>
> As far as I can tell, revision 74099
> (https://github.com/wch/r-source/commit/d9530001046a582ff6a43ca834d6c3586abd0a97),
> which changes the default serialization format to 3, clashes with
> revision 73973 (https://github.com/wch/r-source/commit/885764eb74f2211a547b13727f2ecc5470c3dd00),
> which checks that serialized R objects are _not_ version 3. It seems
> that with the current development version of R, if you `R CMD build`
> and then run `R CMD check --as-cran` on the built package, it will
> fail.
>
I think the message basically says: don't do that. You should build
with R-release for now. You always need to check with R-devel, so life
is complicated.
If you build with R-devel without forcing the old format, nobody using
R-release will be able to use your tarball.
Eventually I guess the new format will be accepted by CRAN, but it will
likely be a while: nobody expects everyone to instantly upgrade to a
new R release, let alone to an unreleased development version.
Presumably that particular file (build/vignette.rds) could be
automatically built in the old format for now, but the new format needs
testing, so it makes sense to me to leave it as a default, even if it
makes it more complicated to submit a package to CRAN.
Duncan Murdoch
More information about the R-devel
mailing list