instal.packages('anything') just hangs forever
statquant opened this issue · 11 comments
Hello, I gave a try to bspm without success.
Here is what I did
I install bspm as root
cd /tmp
wget https://cloud.r-project.org/src/contrib/bspm_0.3.5.tar.gz
sudo R CMD INSTALL bspm_0.3.5.tar.gz
=> that worked fine
I made sure I had all required deps
rpm -qa | grep -Ei 'python3-dnf|systemd|python3-dbus|python3-gobject'
python3-dnf-plugins-extras-common-4.0.10-1.fc32.noarch
systemd-pam-245.4-1.fc32.x86_64
python3-dnf-plugin-system-upgrade-4.0.10-1.fc32.noarch
python-systemd-doc-234-12.fc32.x86_64
systemd-245.4-1.fc32.x86_64
systemd-libs-245.4-1.fc32.i686
libreport-plugin-systemd-journal-2.13.1-4.fc32.x86_64
python3-dnf-4.2.21-1.fc32.noarch
python3-dbus-1.2.16-1.fc32.x86_64
python3-gobject-base-3.36.1-1.fc32.x86_64
systemd-rpm-macros-245.4-1.fc32.noarch
python3-gobject-3.36.1-1.fc32.x86_64
python3-dnf-plugins-core-4.0.15-1.fc32.noarch
systemd-libs-245.4-1.fc32.x86_64
systemd-bootchart-233-6.fc32.x86_64
python3-systemd-234-12.fc32.x86_64
systemd-container-245.4-1.fc32.x86_64
systemd-udev-245.4-1.fc32.x86_64
rpm-plugin-systemd-inhibit-4.15.1-3.fc32.1.x86_64
Then in R
R --vanilla
library(bspm)
bspm::enable()
install.packages('here')
=> there is hangs forever
> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Fedora 32 (Workstation Edition)
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.9.so
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] bspm_0.3.5
loaded via a namespace (and not attached):
[1] compiler_3.6.3
This is SELinux blocking your manually-installed package. If you disable SELinux, it will work. But I don't recommend it. I'll package bspm
for Fedora so that it can be installed from the system repos and SELinux won't protest then.
Anyway, my recommendation is to use the iucar/cran Copr repo. The CoprManager
package, included there, is just a "rebranding" of bspm
, tailored specifically to manage that repo.
Ok, thanks, unless I misunderstand something my setup is vanilla so it might be worth addin a line in the REAME.md.
I just tested iucar/cran and that's truely amazing, thank you.
I have a question on install.packages, I assume that because dnf is called under the hood there is no way the instaled package in installed in the USER_LIBS path, but I just wanted to check. If it could be done that would be a huge plus as it could also be used in an "enterprise" setup where you do not have access to root.
Ok, thanks, unless I misunderstand something my setup is vanilla so it might be worth addin a line in the REAME.md.
Sure, I'll add a warning about SELinux...
I just tested iucar/cran and that's truely amazing, thank you.
... and about this. With iucar/cran and CoprManager, you have access to almost the whole CRAN, so IMO there's no point in installing bspm
from CRAN on Fedora.
I have a question on install.packages, I assume that because dnf is called under the hood there is no way the instaled package in installed in the USER_LIBS path, but I just wanted to check.
No, there isn't.
If it could be done that would be a huge plus as it could also be used in an "enterprise" setup where you do not have access to root.
Not sure if I follow. With bspm
/CoprManager
, you are actually installing packages in the system without root access. That's the purpose of the package.
Hello, with regards to root I mean that for me the packages installed with CoprManager are installed in /usr/local/lib/R/library and are owned by root. I do not think that would be something I'd be able to do at work.
Yes, and another advantage of this is that a system with e.g. 15 users don't have 15 installations of probably outdated versions of hundreds of packages. I think this is an advantage for sysadmins: if they activate the Copr repo and enable CoprManager, all users will be installing (without root privileges) and sharing packages under /usr/local/lib/R/library, and the sysadmin can ensure that they are up-to-date.
Not really: bspm
does not decide the installation directory; R does. So it is already compatible with the setup you are describing.
I am saying that, if you have multiple R installations from multiple system repos, each repo with its own packages and stuff, then bspm can pull them out in their different installation paths.
What you cannot expect, of course, is that from a single system repository, anyone would be able to pull out those binary packages to different instalation directories and magically convert them to different versions of R. But that's not bspm's limitation, that's how system repositories work.
(BTW I'm keeping this open for me to remember to add something to the README. Thanks for the discussion!)