I'm trying to use the 3.6.x binaries for Ubuntu 18 (bionic) from the public package manager
I am using this package URL https://packagemanager.rstudio.com/all/linux/bionic/latest
which sources from
https://packagemanager.rstudio.com/all/linux/bionic/latest/src/contrib/PACKAGES.gz
However I notice that (most) packages are not compiled and has NeedsCompilation: YES set in PACKAGES.
According to documentation, at least RPostgreSQL, dpylr should have binaries but I am unable to find either for any distro.
Am I doing something wrong?
Thanks!
Evan
rstub
2
I cannot reproduce this. I a fresh docker container I get:
> R.version.string
[1] "R version 3.6.3 (2020-02-29)"
> system("lsb_release -a")
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
No LSB modules are available.
> options("repos")
$repos
CRAN
"https://packagemanager.rstudio.com/cran/__linux__/bionic/latest/"
attr(,"RStudio")
[1] TRUE
> install.packages("dplyr")
Installing package into ‘/home/rstudio/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
also installing the dependencies ‘cli’, ‘pillar’, ‘purrr’, ‘digest’, ‘ellipsis’, ‘generics’, ‘glue’, ‘lifecycle’, ‘magrittr’, ‘R6’, ‘rlang’, ‘tibble’, ‘tidyselect’, ‘vctrs’
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/bionic/latest/src/contrib/cli_2.0.2.tar.gz'
Content type 'binary/octet-stream' length 390769 bytes (381 KB)
==================================================
downloaded 381 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/bionic/latest/src/contrib/pillar_1.4.4.tar.gz'
Content type 'binary/octet-stream' length 179593 bytes (175 KB)
==================================================
downloaded 175 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/bionic/latest/src/contrib/purrr_0.3.4.tar.gz'
[...]
So binary packages are used for R 3.6.3 on bionic.
Untar this package
https://packagemanager.rstudio.com/cran/linux/bionic/latest/src/contrib/dplyr_1.0.0.tar.gz
There are no binaries inside this package from what I can tell.
I see from your log dependencies of dplyr were installed but not necessarily dplyr itself. Was Dplyr installed as a binary package?
On docker r-base 3.6.3:
options(repos=c(CRAN="xxxx://packagemanager.rstudio.com/cran/__linux__/bionic/latest/"))
> install.packages("dplyr")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
also installing the dependencies ‘cli’, ‘pillar’, ‘purrr’, ‘ellipsis’, ‘lifecycle’, ‘rlang’, ‘tibble’, ‘tidyselect’, ‘vctrs’
trying URL 'xxxx://packagemanager.rstudio.com/cran/__linux__/bionic/latest/src/contrib/cli_2.0.2.tar.gz'
Content type 'binary/octet-stream' length 116047 bytes (113 KB)
==================================================
downloaded 113 K
But then all packages are compiled for the most part except for ones with no C dependencies.
dplyr compiles from source here
* installing *source* package ‘dplyr’ ...
** package ‘dplyr’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-j1tBvV/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c filter.cpp -o filter.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-j1tBvV/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c funs.cpp -o funs.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-j1tBvV/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c group_by.cpp -o group_by.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-j1tBvV/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c group_data.cpp -o group_data.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-j1tBvV/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c imports.cpp -o imports.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-j1tBvV/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c init.cpp -o init.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG
rstub
4
You will get the standard source package when downloading with a browser. If you use R's download.file
, you will get a binary package for the R version you are using, see also https://docs.rstudio.com/rspm/admin/serving-binaries/#binaries-r-configuration-linux. For me, the above installation ends as
[...]
* installing *binary* package ‘vctrs’ ...
* DONE (vctrs)
* installing *binary* package ‘pillar’ ...
* DONE (pillar)
* installing *binary* package ‘tidyselect’ ...
* DONE (tidyselect)
* installing *binary* package ‘tibble’ ...
* DONE (tibble)
* installing *binary* package ‘dplyr’ ...
* DONE (dplyr)
The downloaded source packages are in
‘/tmp/Rtmp1fpIIA/downloaded_packages’
>
So there might be a problem with the user string of your R installation. You can test this with
source("https://docs.rstudio.com/rspm/admin/check-user-agent.R")
See also https://docs.rstudio.com/rspm/admin/serving-binaries/#binary-user-agents.
4 Likes
OOOHHH MY GOD.
It fixed it.
That check user agent just fixed everything and now it install binary packages and it is awesome. You don't know how much I cried for this.
Thanks soooo much.