[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