Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#62770 - [r] missing dependency on which

Attached to Project: Arch Linux
Opened by Alexandre Duret-Lutz (adl) - Tuesday, 28 May 2019, 21:23 GMT
Last edited by Antonio Rojas (arojas) - Wednesday, 29 May 2019, 06:30 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Installing R in a Docker container with a base archlinux results in a unusable installation, showing error messages as below.

Running "pacman -S which" fixes the problem, so I think "which" should be installed as a dependency.

Related: https://github.com/HenrikBengtsson/Wishlist-for-R/issues/36

Steps to reproduce:

% sudo docker run -ti archlinux/base
# pacman -Sy r
# R


The messages I get are like this:

[root@3f5c2421d329 /]# R

R version 3.6.0 (2019-04-26) -- "Planting of a Tree"
Copyright (C) 2019 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.

Natural language support but running in an English locale

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.

Error: package or namespace load failed for ‘utils’:
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
Error: package or namespace load failed for ‘stats’:
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
During startup - Warning messages:
1: package ‘utils’ in options("defaultPackages") was not found
2: package ‘stats’ in options("defaultPackages") was not found

This task depends upon

Closed by  Antonio Rojas (arojas)
Wednesday, 29 May 2019, 06:30 GMT
Reason for closing:  Fixed
Additional comments about closing:  in svn
Comment by Eli Schwartz (eschwartz) - Tuesday, 28 May 2019, 22:13 GMT
Maybe it would be a good idea to submit an upstream bug report -- the "which" program is not portable, and its functionality can be done much more efficiently in-process, see for example the python shutil.which() implementation: https://github.com/python/cpython/blob/9e3c4526394856d6376eed4968d27d53e1d69b7d/Lib/shutil.py#L1293

In general the "which" program is horrible and should be avoided at all costs, see for example https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/86029#86029
What you're essentially saying is that R is terminally broken on many commercial Unixes, where that command will return junk.

Loading...