Neal Richardson
2018-Jan-10 18:26 UTC
[Rd] R CMD build then check fails on R-devel due to serialization version
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. Neal
Duncan Murdoch
2018-Jan-10 20:52 UTC
[Rd] R CMD build then check fails on R-devel due to serialization version
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
Jim Hester
2018-Jan-11 13:08 UTC
[Rd] R CMD build then check fails on R-devel due to serialization version
This change poses difficulties for automated build systems such as travis-ci, which is widely used in the R community. In particular because this is a WARNING and not a NOTE this causes all R-devel builds with vignettes to fail, as the default settings fail the build if R CMD check issues a WARNING. The simplest change would be for R-core to change this message to be a NOTE rather than a WARNING, the serialization could still be tested and there would be a check against vignettes built with R-devel, but it would not cause these builds to fail. On Wed, Jan 10, 2018 at 3:52 PM, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:> 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 > > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Reasonably Related Threads
- R CMD build then check fails on R-devel due to serialization version
- R CMD build then check fails on R-devel due to serialization version
- R CMD build then check fails on R-devel due to serialization version
- R CMD build then check fails on R-devel due to serialization version
- serializing recordedplot object