[R-pkg-devel] Testing package on R-devel in a docker container
Michael Dewey
||@t@ @end|ng |rom dewey@myzen@co@uk
Tue Aug 12 16:17:35 CEST 2025
Dear Ott
Perhaps a dumb question but does your package DESCRIPTION include a
dependency on lattice (or i,port or suggest)?
Michael
On 12/08/2025 14:58, Ott Toomet wrote:
> Thanks, everyone, for responding. Here a summary of my research so
> far--I do not quite understand what I am doing, but I spotted
> a number of different issues, and I got the checks to work.
>
> * I was not aware of the distinction between default and recommended
> packages, and the fact that the latter is not installed by default
> (although usually they are on production systems).
> * in the rocker/r-devel container, R and R-devel use (partly)
> overlapping lib paths: `/usr/local/lib/R/site-library` and
> `/usr/lib/R/library`.
>
> * R and R-devel have different packages installed by default, but
> because both access `/usr/lib/R/library`, both seem to have access
> to both default and recommended packages.
> * `RD CMD check` uses a different lib path, containing
> `/usr/local/lib/R/library` and a temporary folder. The latter will
> contain the needed packages given they are installed in a certain
> location (I still do not understand how they get there, and from
> where).
> * The message I got -- package _lattice_ not available -- was due to
> two reasons: a) it is a recommended, not a default package; and b)
> it is installed in `/usr/lib/R/library` where it is normally
> accessible for both R and R-devel, and hence was not installed
> again. However, from there it is not copied to the temporary folder that
> R CMD check uses.
> * Finally, by setting `ENV R_LIBS=/usr/local/lib/R/site-library/` in
> the Dockerfile, the checks work. But I am not sure why.
>
> It would be great to isolate R and R-devel better in the docker
> image. Not sure whether it is easy to do...
>
> Cheers,
> Ott
>
> On Tue, Aug 12, 2025 at 1:17 AM Berwin A Turlach <berwin.turlach using gmail.com>
> wrote:
>
>> On Mon, 11 Aug 2025 08:47:45 -0400
>> Duncan Murdoch <murdoch.duncan using gmail.com> wrote:
>>
>>> Regarding Dirk's "narrower" comment: I think that is really his
>>> decision about the docker container, not a property of R CMD check.
>>> R CMD check needs to be able to succeed if the only packages
>>> installed are the hard dependencies (Depends, Imports, plus base
>>> packages), but it doesn't actually install anything. That's up to
>>> you before running it.
>>
>> Obviously I cannot speak for Dirk and where his comment comes from :),
>> but WRE has since ages the following note:
>>
>> Note: R CMD check and R CMD build run R processes with
>> --vanilla in which none of the user’s startup files are read.
>> If you need R_LIBS set (to find packages in a non-standard
>> library) you can set it in the environment: also you can use
>> the check and build environment files (as specified by the
>> environment variables R_CHECK_ENVIRON and R_BUILD_ENVIRON; if
>> unset, files55 ~/.R/check.Renviron and ~/.R/build.Renviron are
>> used) to set environment variables when using these utilities.
>>
>> On my linux box I update and compile R patched and R devel regularly,
>> and at some point I got tired of also installing a lot of packages
>> (that I need for checking) each time. So I moved all of these
>> additional packages to another library (where they are updated on an
>> as needed basis via update.packages(ask=FALSE, CheckBuilt=TRUE)). After
>> this restructure R patched and R devel could promptly not find those
>> packages anymore (until I changed my scripts to create appropriate
>> symbolic links, I did not want to go down the path of setting
>> environment variables).
>>
>> Cheers,
>>
>> Berwin
>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
--
Michael Dewey
More information about the R-package-devel
mailing list