-
Notifications
You must be signed in to change notification settings - Fork 220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
R 3.6.0 depends on which
and that's not always present
#11133
Comments
I think I've figured out the problem - R 3.6.0 seems to need a functional
Is this something that should be set as a formal prerequisite for the R package? Or should users just have to know that |
The only way that conda could have that be a prereq is if there were a conda package for which. I think stripped-down docker images are kind of exceptional here. A lack of |
I agree that it's silly to be missing The base image I'm starting from is Anyway, up to you how/if you want to handle this. |
Yes, the symptom is especially misleading. I agree that we should find some way to express this dependency better. CentOS stripping this out is nutty, but similar stuff happens with docker images pretty regularly. Thanks for isolating the issue for us. |
which
and that's not always present
I don't think nutty would be the term, I'm in the middle of building a distroless R image (quite smaller than the official one) Having this sort of dependencies is "nutty", such as "bash" to run a lot of the dependencies. |
We (the Anaconda Distribution, or conda-forge) do not make any additions to the R interpreter to add any (additional) use of the One consideration here is that R often compiles software when you install it (particularly on Linux) and to do so it expects common Unix build tools (the Autotools suite in particular which includes shell code, m4 code and Perl code). For this reason, R users on Unix have long been expected to "just know" they need these things. |
@mingwandroid anaconda's R (version 4.0.2) does not run properly run under NixOS, possibly due to this issue (I get the same error, i.e. utils and stats packages can't be loaded). Are you still not considering to patch this in Anaconda (I am also asking since this issue is still Open). @kenahoo have you raised this with the R dev team? |
I can confirm what @moritzschaefer said and also that adding |
This dependency on I am building a slim Docker image for The conda Docker container works fine for Python conda environments without [interpreteruser@811147bc33c4 ~]$ conda activate myrenv
[interpreteruser@811147bc33c4 ~]$ R
R version 4.3.3 (2024-02-29) -- "Angel Food Cake"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-conda-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.
During startup - Warning messages:
1: package 'utils' in options("defaultPackages") was not found
2: package 'stats' in options("defaultPackages") was not found
> library(tidyverse)
Error: package or namespace load failed for 'tidyverse':
.onAttach failed in attachNamespace() for 'tidyverse', details:
call: NULL
error: package or namespace load failed for 'ggplot2':
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
> library(tidyr)
Error: package or namespace load failed for 'tidyr':
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
> library(ggplot2)
Error: package or namespace load failed for 'ggplot2':
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
> quit() Adding |
Actual Behavior
SUMMARY:
r
version 3.6.0 is installed in an environment, but it's not functional. The built-inutils
andstats
packages can't be loaded, not sure whether there are other problems too.I created a Docker image using the following Dockerfile:
Built by running the simple command
docker build -t conda-r-test -f conda-R-test .
.Everything appears to go fine.
However, the installation of R is broken:
The same errors are reported if I first do
conda activate r-3.6
and then invoke R.Expected Behavior
R should be installed correctly.
Note: using the exact same incantations, R 3.4 and 3.5 were installed successfully. Only R 3.6 seems to have the problem.
Steps to Reproduce
Build Docker image using the above.
Anaconda or Miniconda version:
Operating System:
conda info
conda list --show-channel-urls
Thanks.
The text was updated successfully, but these errors were encountered: