[R] R_LIBS var needed to be set after upgrade to R 4.2.2

Ashim Kapoor @@h|mk@poor @end|ng |rom gm@||@com
Thu Jun 2 10:00:27 CEST 2022


Dear Sir,

Many thanks for the reply.

Best,
Ashim

On Thu, Jun 2, 2022 at 12:56 PM Martin Maechler
<maechler using stat.math.ethz.ch> wrote:
>
> >>>>> Ashim Kapoor
> >>>>>     on Wed, 1 Jun 2022 14:30:58 +0530 writes:
>
>     > Dear Sir,
>     >> > I upgraded to R 4.2.2  on Debian 10 today.
>     >>
>     >> Well, I assume you mean R 4.2.0 .. at least that one exists.
>
>     > My bad, yes I made a typo. I did mean R 4.2.0.
>
>     >> > The R shell incantation worked fine and all libraries would load but,
>     >> > I needed to point the R_LIBS variable to
>     >> > /usr/local/lib/R/site-library/ in order for the R --vanilla < myfile.R
>     >> > incantation to find the libraries.
>     >>
>     >> you mean other installed *packages*
>     >>
>     >> > May I ask, why was this ? I never needed to do this on any previous
>     >> > upgrade to R.
>     >>
>     >> Well,  for me, the     R --vanilla   form also only sees the
>     >> 29 (14 "base" + 15 "Recommended") packages that come with R.
>
>     > Has this ALWAYS been the case for you ? Even with prior versions of R ?
>
> Yes; I'm sorry this was unclear.
>
>     >> Debian (& Ubuntu etc)  have used a similar setup where the
>     >> default {R-level}  .libPaths() has contained three libraries,
>     >> via
>     >>
>     >> R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library'}
>     >>
>     >> see
>     >>
>     >> https://cloud.r-project.org/bin/linux/debian/#pathways-to-r-packages
>     >>
>     >> also for much more.
>     >> Note (also from the above CRAN page
>     >> https://cloud.r-project.org/bin/linux/debian/
>     >> [ Remember "menu"  "Binaries" -> "Linux" -> "Debian" ]
>     >>
>     >> The good thing about the Debian (and derivatives) setup is that
>     >> it also separates (as I do) the  "packages that come with R" in
>     >> one library (= /usr/lib/R/library) from packages that are
>     >> installed differently.
>
>     > My confusion is : Earlier R --vanilla incantation was working fine,
>     > even without my intervening and
>     > adding to R_LIBS. That is why I was confused.
>
>     > My main query is : Is there anything special to R 4.2.0 which needs
>     > R_LIBS to be setup seperately?
>
> to which Jeroen Ooms answered nicely -- thank you, Jeroen!
>
>     > I was hit by this problem as well a few weeks ago. You may get a more
>     > detailed answer in r-sig-debian or from Dirk directly, but from what I
>     > understood, this is now expected behavior: indeed if you start R
>     > --vanilla then /usr/local/lib is no longer included in the library path.
>
>     > The reason is that R-core made a change in 4.2.0 to pre-set values for
>     > R_LIBS_USER and R_LIBS_SITE in Renviron [1] which would take
>     > precedence over the proper distro defaults (that include
>     > /usr/local/lib) as configured by the r-base deb/rpm packages. To
>     > mitigate the problem the r-base deb package moved the appropriate
>     > R_LIBS_USER and R_LIBS_SITE definitions into Renviron.site, which
>     > takes precedence over Renviron. However a side effect of this solution
>     > is that Renviron.site is ignored in --vanilla mode. At least this is
>     > my best understanding of the problem.
>
>     > [1] https://cran.r-project.org/doc/manuals/r-release/NEWS.html
>
> Yes, as
>
>      R --help | grep -A1 -e --vanilla | head -2
>
> has given
>
>   --vanilla             Combine --no-save, --no-restore, --no-site-file,
>                         --no-init-file and --no-environ
>
> (unchanged for many years).
>
>
> Being a Linux user of more than 25 years, I've not been much of a
> Debian-or-derivatives user in recent years (apart from setting up
> and maintaining Ubuntu LTS on my wife's computer) mainly because
> of lazyness as our IT staff helps me solve all problems with
> Fedora quickly, including lowelevel device-related ones,
> I think that Debian(+derivatives) has always been the exception
> among the Linux distros and for all the others, '--vanilla'
> really meant "vanilla" in a loose sense, i.e., "just base R".
>
> I agree that I had wanted a "vanilla+strawberry" version myself, really.
> which would be just not have the  --no-site-file  switch,
> so we could call it
>    --vanilla+site
>
> {Others may hate  "feature creep" and yet more output from
> 'R --help'  ..}
>
> Martin



More information about the R-help mailing list