Steps to reproduce: try to install Pak package on fresh Debian or Ubuntu Docker container
docker run -it --rm debian:bookworm bash -c "apt-get update && apt-get dist-upgrade -y && apt-get install -y r-base-dev build-essential && apt-cache policy r-base-dev && R --version && R -e \"install.packages('pak', repos='http://cran.r-project.org/')\""
or
docker run -it --rm ubuntu:noble bash -c "apt-get update && apt-get dist-upgrade -y && apt-get install -y r-base-dev build-essential && apt-cache policy r-base-dev && R --version && R -e \"install.packages('pak', repos='http://cran.r-project.org/')\""
Note: Ubuntu Jammy is also affected.
Expected result: Pak is installed and can load its dynamic libraries or whatever it needs.
Actual result for Debian bookworm:
...
r-base-dev:
Installed: 4.2.2.20221110-2
Candidate: 4.2.2.20221110-2
Version table:
*** 4.2.2.20221110-2 500
500 http://deb.debian.org/debian bookworm/main amd64 Packages
500 http://deb.debian.org/debian bookworm/main i386 Packages
100 /var/lib/dpkg/status
...
R version 4.2.2 Patched (2022-11-10 r83330) -- "Innocent and Trusting"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.
R version 4.2.2 Patched (2022-11-10 r83330) -- "Innocent and Trusting"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> install.packages('pak', repos='http://cran.r-project.org/')
Installing package into '/usr/local/lib/R/site-library'
(as 'lib' is unspecified)
trying URL 'http://cran.r-project.org/src/contrib/Transit/pak_0.9.3-1.tar.gz'
Content type 'application/x-gzip' length 3172341 bytes (3.0 MB)
==================================================
downloaded 3.0 MB
* installing *source* package 'pak' ...
** using staged installation
** Running ./configure
** libs
Current platform: x86_64-pc-linux-gnu
Build platform:
Target platform:
Compiling R6
Compiling cli
...
make[1]: Leaving directory '/tmp/Rtmpni76Sf/R.INSTALL1fb640fd4b79/pak/src/library/cli/src'
installing to /usr/local/lib/R/site-library/00LOCK-pak/00new/pak/library/cli/libs
Error: package or namespace load failed for 'cli' in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/usr/local/lib/R/site-library/00LOCK-pak/00new/pak/library/cli/libs/cli.so':
/usr/local/lib/R/site-library/00LOCK-pak/00new/pak/library/cli/libs/cli.so: undefined symbol: R_getVarEx
Error: loading failed
Execution halted
ERROR: loading failed
Error in install_one(pkg, lib = lib) : FAILED
Calls: install_embedded_main -> install_all -> install_one
Execution halted
installing via 'install.libs.R' to /usr/local/lib/R/site-library/00LOCK-pak/00new/pak
Error in eval(ei, envir) : Compilation failed.
* removing '/usr/local/lib/R/site-library/pak'
The downloaded source packages are in
'/tmp/Rtmp1pQJn1/downloaded_packages'
Warning message:
In install.packages("pak", repos = "http://cran.r-project.org/") :
installation of package 'pak' had non-zero exit status
>
You should respect the users of stable and supported Linux distros with LTS support!
Also please note that Pak is now a dependency of devtools since 2.5.0 release, so you should be really careful with R_getVarEx and other modern symbols.
Steps to reproduce: try to install Pak package on fresh Debian or Ubuntu Docker container
docker run -it --rm debian:bookworm bash -c "apt-get update && apt-get dist-upgrade -y && apt-get install -y r-base-dev build-essential && apt-cache policy r-base-dev && R --version && R -e \"install.packages('pak', repos='http://cran.r-project.org/')\""or
docker run -it --rm ubuntu:noble bash -c "apt-get update && apt-get dist-upgrade -y && apt-get install -y r-base-dev build-essential && apt-cache policy r-base-dev && R --version && R -e \"install.packages('pak', repos='http://cran.r-project.org/')\""Note: Ubuntu Jammy is also affected.
Expected result: Pak is installed and can load its dynamic libraries or whatever it needs.
Actual result for Debian bookworm:
You should respect the users of stable and supported Linux distros with LTS support!
Also please note that Pak is now a dependency of devtools since 2.5.0 release, so you should be really careful with
R_getVarExand other modern symbols.