You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note in the image, sf works fine. This is if the user installs sf.
To replicate
Use bring your own image in JupyterHub: ghcr.io/boettiger-lab/repo2docker-r/r2u:latest
Open RStudio once in JupyterLab
remove sf that is installed in the system library (on image build)
install.packages("sf")
type library(sf)
Now you get this error so it seems r2u was not used to install sf ? or something else happened.
library(sf)
Error: package or namespace load failed for ‘sf’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/jovyan/R/x86_64-pc-linux-gnu-library/4.4/sf/libs/sf.so':
libproj.so.22: cannot open shared object file: No such file or directory
From the terminal (in RStudion or JLab). This happens in the image too even when sf is working (before deleting it).
gdalinfo --version
bash: gdalinfo: command not found
The text was updated successfully, but these errors were encountered:
thanks for reporting! Right, I don't see a great solution here for non-root installs. If the user can customize install.r, then the Dockerfile will build with root (either via GitHub Actions, or now the binder integration). But a user still can't install binary packages on the fly.
I've just pushed an edit that will allow a user to dynamically install binaries from r-universe. This will cover many more cases, but not all cases. e.g. if the image already has the gdal libraries installed from say, having sf in install.r, then they can dynamically install terra or stars or any of the others that bind gdal libraries.
But if the user tries to install some additional package, say, magick, the binary will install fine but it won't be able to run, because it has to apt-get some dependencies first. I think there's still a win here, in that the user simply has to add the R package to to the install.r script, they don't actually ever need to know about apt get or what specific ubuntu/debian pkg name they need to apt-get. But it's not perfect.
I wonder if it would just be possible to allow root on the Jupyter env. e.g. Codespaces allows root inside it's VMs so users could apt-get, and presumably they did the appropriate security analysis given their infinitely larger and better resourced teams looking at this stuff...
Alternatively one could install R packages from conda, but I feel this doesn't play nice with any of the standard end-user install mechanisms for linux either. (The entire conda model also just feels weird and out of place in a Ubuntu Linux system admin to me
Note in the image, sf works fine. This is if the user installs sf.
To replicate
install.packages("sf")
library(sf)
Now you get this error so it seems r2u was not used to install sf ? or something else happened.
From the terminal (in RStudion or JLab). This happens in the image too even when sf is working (before deleting it).
The text was updated successfully, but these errors were encountered: