IƱaki Ucar
2023-Jun-12 11:24 UTC
[R-sig-Fedora] Problem with R, staged installation for packages, and samba share
On Mon, 12 Jun 2023 at 13:19, Tom Callaway <spotrh at gmail.com> wrote:> > Hmm, that's a weird one. Is SELinux on and enforcing on that setup?I was going to bet on the same thing. :) But let me add: if the answer is affirmative, and this doesn't happen with SELinux disabled, then *the answer is NOT to disable SELinux*. Instead, let's figure this out, because the answer is to set the proper labels or permissions. I?aki> > ~spot > > On Mon, Jun 12, 2023, 6:55 AM Alexandre Courtiol < > alexandre.courtiol at gmail.com> wrote: > > > Dear Fedora-R enthusiasts, > > > > We are experiencing some issues with the binary releases of R 4.3 for > > Fedora 37 & 38 when running it on our infrastructure. > > > > The issue is that packages won't install, unless the (default) staged > > installation process for packages is switched off (--no-staged-install). > > > > It seems to be related to the fact that we are storing R libraries on a > > drive mounted via samba share. > > > > Interestingly, installing R from sources does not cause the issue. > > When using other OS (e.g. Arch) on the same infrastructure, the problem > > also disappears. > > > > We are looking for a way out that would allow users to install R packages > > as usual and that would ideally not force the admin to install R from > > sources. > > > > The issue should be reproducible as follows: > > > > 1. Mount the share: > > > > $ mount -t cifs //server/share /mnt/share -o ...options... > > > > 2. Put R library onto the share: > > > > $ mkdir /mnt/share/R > > $ ln -s /mnt/share/R ~/R > > > > 3. Install a package that has dependencies (It doesn't matter whether the > > dependencies actually have to be installed or not. E.g. if you install all > > of the dependencies of 'dplyr' and then install 'dplyr' itself in an extra > > call to 'install.packages', the problem will still be triggered.): > > > > $ Rscript -e "install.packages('dplyr', repos='https://cloud.r-project.org > > ')" > > > > 4. The installation will fail while trying to move the package to its final > > location: > > > > mv: cannot move > > '/mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/00LOCK-dplyr/00new/dplyr' > > to '/mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/dplyr': Permission > > denied > > ERROR: moving to final location failed > > > > 5. Moving the folder as described in the error manually from the shell > > succeeds: > > > > $ mv > > /mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/00LOCK-dplyr/00new/dplyr > > /mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/dplyr > > $ # => works > > > > And if R is either compiled from source (taking the usual > > "configure/make/make install" route) or installed from Conda, the > > permission error at step 4 doesn't happen. We also tested creating the > > binary RPM package on the same machine, and the result was the same as > > installing the binary package from the repo (i.e. error). > > > > ++ > > > > > > -- > > Alexandre Courtiol, www.datazoogang.de > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-SIG-Fedora mailing list > > R-SIG-Fedora at r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-sig-fedora > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-SIG-Fedora mailing list > R-SIG-Fedora at r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-fedora-- I?aki ?car
Alexandre Courtiol
2023-Jun-12 13:12 UTC
[R-sig-Fedora] Problem with R, staged installation for packages, and samba share
Thanks for the tip but nope: SELinux is off on that system... On Mon, 12 Jun 2023 at 13:24, I?aki Ucar <iucar at fedoraproject.org> wrote:> On Mon, 12 Jun 2023 at 13:19, Tom Callaway <spotrh at gmail.com> wrote: > > > > Hmm, that's a weird one. Is SELinux on and enforcing on that setup? > > I was going to bet on the same thing. :) But let me add: if the answer > is affirmative, and this doesn't happen with SELinux disabled, then > *the answer is NOT to disable SELinux*. Instead, let's figure this > out, because the answer is to set the proper labels or permissions. > > I?aki > > > > > ~spot > > > > On Mon, Jun 12, 2023, 6:55 AM Alexandre Courtiol < > > alexandre.courtiol at gmail.com> wrote: > > > > > Dear Fedora-R enthusiasts, > > > > > > We are experiencing some issues with the binary releases of R 4.3 for > > > Fedora 37 & 38 when running it on our infrastructure. > > > > > > The issue is that packages won't install, unless the (default) staged > > > installation process for packages is switched off > (--no-staged-install). > > > > > > It seems to be related to the fact that we are storing R libraries on a > > > drive mounted via samba share. > > > > > > Interestingly, installing R from sources does not cause the issue. > > > When using other OS (e.g. Arch) on the same infrastructure, the problem > > > also disappears. > > > > > > We are looking for a way out that would allow users to install R > packages > > > as usual and that would ideally not force the admin to install R from > > > sources. > > > > > > The issue should be reproducible as follows: > > > > > > 1. Mount the share: > > > > > > $ mount -t cifs //server/share /mnt/share -o ...options... > > > > > > 2. Put R library onto the share: > > > > > > $ mkdir /mnt/share/R > > > $ ln -s /mnt/share/R ~/R > > > > > > 3. Install a package that has dependencies (It doesn't matter whether > the > > > dependencies actually have to be installed or not. E.g. if you install > all > > > of the dependencies of 'dplyr' and then install 'dplyr' itself in an > extra > > > call to 'install.packages', the problem will still be triggered.): > > > > > > $ Rscript -e "install.packages('dplyr', repos=' > https://cloud.r-project.org > > > ')" > > > > > > 4. The installation will fail while trying to move the package to its > final > > > location: > > > > > > mv: cannot move > > > > '/mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/00LOCK-dplyr/00new/dplyr' > > > to '/mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/dplyr': Permission > > > denied > > > ERROR: moving to final location failed > > > > > > 5. Moving the folder as described in the error manually from the shell > > > succeeds: > > > > > > $ mv > > > > /mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/00LOCK-dplyr/00new/dplyr > > > /mnt/share/R/x86_64-redhat-linux-gnu-library/4.3/dplyr > > > $ # => works > > > > > > And if R is either compiled from source (taking the usual > > > "configure/make/make install" route) or installed from Conda, the > > > permission error at step 4 doesn't happen. We also tested creating the > > > binary RPM package on the same machine, and the result was the same as > > > installing the binary package from the repo (i.e. error). > > > > > > ++ > > > > > > > > > -- > > > Alexandre Courtiol, www.datazoogang.de > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > > R-SIG-Fedora mailing list > > > R-SIG-Fedora at r-project.org > > > https://stat.ethz.ch/mailman/listinfo/r-sig-fedora > > > > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-SIG-Fedora mailing list > > R-SIG-Fedora at r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-sig-fedora > > > > -- > I?aki ?car >-- Alexandre Courtiol, www.datazoogang.de [[alternative HTML version deleted]]