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.turl...@gmail.com>
wrote:

On Mon, 11 Aug 2025 08:47:45 -0400
Duncan Murdoch <murdoch.dun...@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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

--
Michael Dewey

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to