Greetings,
I've installed some R libraries that are not available as rpm packages, specifically matlib and a few others.
Recently, R was ported to version 4.0.x and these libraries are not callable. When I remove them and try to install them all sorts of dependencies are either removed or become problematic.
Any advice?
Much thanks,
Max Pyziur pyz@brama.com
On Saturday, 18 July 2020 21.22.17 WEST Max Pyziur wrote:
Greetings,
I've installed some R libraries that are not available as rpm packages, specifically matlib and a few others.
Recently, R was ported to version 4.0.x and these libraries are not callable. When I remove them and try to install them all sorts of dependencies are either removed or become problematic.
Any advice?
Much thanks,
Max Pyziur
What are the errors you are seeing?
All packages need to be rebuilt for R 4.0 be it installed from rpms or otherwise. That is a requirement from R 4.0 and not from our installation.
FWIW you can also install packages from cran as rpms using: https://copr.fedorainfracloud.org/coprs/iucar/cran/
Regards,
On Sat, 18 Jul 2020, José Abílio Matos wrote:
On Saturday, 18 July 2020 21.22.17 WEST Max Pyziur wrote:
Greetings,
I've installed some R libraries that are not available as rpm packages,
specifically matlib and a few others.
Recently, R was ported to version 4.0.x and these libraries are not
callable. When I remove them and try to install them all sorts of
dependencies are either removed or become problematic.
Any advice?
Much thanks,
Max Pyziur
What are the errors you are seeing?
As an example:
install.packages('matlib')
Installing package into ‘/usr/lib64/R/library’ (as ‘lib’ is unspecified) --- Please select a CRAN mirror for use in this session --- also installing the dependencies ‘crosstalk’, ‘rgl’
trying URL 'https://packages.othr.de/cran/src/contrib/crosstalk_1.1.0.1.tar.gz' Content type 'text/plain' length 673125 bytes (657 KB) ================================================== downloaded 657 KB
trying URL 'https://packages.othr.de/cran/src/contrib/rgl_0.100.54.tar.gz' Content type 'text/plain' length 2952743 bytes (2.8 MB) ================================================== downloaded 2.8 MB
trying URL 'https://packages.othr.de/cran/src/contrib/matlib_0.9.3.tar.gz' Content type 'text/plain' length 220211 bytes (215 KB) ================================================== downloaded 215 KB
* installing *source* package ‘crosstalk’ ... ** package ‘crosstalk’ successfully unpacked and MD5 sums checked ** using staged installation ** R ** inst ** byte-compile and prepare package for lazy loading Error: package ‘R6’ was installed before R 4.0.0: please re-install it Execution halted ERROR: lazy loading failed for package ‘crosstalk’ * removing ‘/usr/lib64/R/library/crosstalk’ ERROR: dependency ‘crosstalk’ is not available for package ‘rgl’ * removing ‘/usr/lib64/R/library/rgl’ ERROR: dependency ‘rgl’ is not available for package ‘matlib’ * removing ‘/usr/lib64/R/library/matlib’
The downloaded source packages are in ‘/tmp/Rtmpnvhegn/downloaded_packages’ Updating HTML index of packages in '.Library' Making 'packages.html' ... done Warning messages: 1: In install.packages("matlib") : installation of package ‘crosstalk’ had non-zero exit status 2: In install.packages("matlib") : installation of package ‘rgl’ had non-zero exit status 3: In install.packages("matlib") : installation of package ‘matlib’ had non-zero exit status
R6 is available as a F32 RPM; however, it comes back w the above error message, fyi.
All packages need to be rebuilt for R 4.0 be it installed from rpms or otherwise. That is a requirement from R 4.0 and not from our installation.
FWIW you can also install packages from cran as rpms using:
Thanks; I'll check this out.
Max
Regards,
--
José Matos
On Sat, 18 Jul 2020, José Abílio Matos wrote:
[deleted for the sake of brevity ]
All packages need to be rebuilt for R 4.0 be it installed from rpms or otherwise. That is a requirement from R 4.0 and not from our installation.
FWIW you can also install packages from cran as rpms using:
I got this far: when doing dnf install R-CRAN-matlib
the command comes back with a boatload of dependencies, including the request to install R-CRAN-R6.
R-R6 as an F32 rpm is already installed; there are other instances where an RPM-CRAN-* rpm is requested to be installed as a dependency when the comprable F32 rpm is already installed.
This doesn't seem to be prudent.
Max
Regards,
--
José Matos
On Saturday, 18 July 2020 23.58.04 WEST Max Pyziur wrote:
I got this far: when doing dnf install R-CRAN-matlib
the command comes back with a boatload of dependencies, including the request to install R-CRAN-R6.
R-R6 as an F32 rpm is already installed; there are other instances where an RPM-CRAN-* rpm is requested to be installed as a dependency when the comprable F32 rpm is already installed.
This doesn't seem to be prudent.
Max
The packages are, by design, parallel installable with Fedora's packages.
FWIW there is a mailing list specialized in the relation between R and Fedora: https://stat.ethz.ch/mailman/listinfo/r-sig-fedora
Most of the Fedora R packagers are there, including Iñaki who created the rpm cran repository, so it is a nice place to ask these questions.
BTW what are the results when you run
dnf list R-R6
Regards,
Consolidating our correspondance and answering your two questions ...
On Sun, 19 Jul 2020, José Abílio Matos wrote:
On Saturday, 18 July 2020 23.46.07 WEST Max Pyziur wrote:
R6 is available as a F32 RPM; however, it comes back w the above error message, fyi.
Are you sure? :-)
What does the following code returns?
ip <- installed.packages() ip["R6", c(2,3,16)]
ip <- installed.packages() ip["R6", c(2,3,16)]
ip <- installed.packages() ip["R6", c(2,3,16)]
LibPath Version Built "/usr/lib64/R/library" "2.4.1" "3.6.2"
And separately you asked for the dnf info output
pyz@pegasus ~> dnf info R-r6
Installed Packages Name : R-R6 Version : 2.4.1 Release : 4.fc32 Architecture : noarch Size : 80 k Source : R-R6-2.4.1-4.fc32.src.rpm Repository : @System From repo : updates Summary : Classes with Reference Semantics URL : http://cran.r-project.org/web/packages/R6/index.html License : MIT Description : The R6 package allows the creation of classes with reference semantics, : similar to R's built-in reference classes. Compared to reference classes, : R6 classes are simpler and lighter-weight, and they are not built on S4 : classes so they do not require the methods package. These classes allow : public and private members, and they support inheritance, even when the : classes are defined in different packages.
fyi,
M
On Sunday, 19 July 2020 13.15.06 WEST Max Pyziur wrote:
ip <- installed.packages() ip["R6", c(2,3,16)]
ip <- installed.packages() ip["R6", c(2,3,16)]
LibPath Version Built"/usr/lib64/R/library" "2.4.1" "3.6.2"
That makes (some) sense.
I get this:
ip["R6", c(2,3,16)]
LibPath Version Built "/usr/share/R/library" "2.4.1" "4.0.2"
Note that the difference comes from the package location.
I can probably see this from running:
.libPaths()
So that probably means that you have two packages installed, one in /usr/ lib64/R/library and another in /usr/share/R/library. You will see from running the command above that /usr/lib64/R/library comes first and so that is the package used.
I hope that this makes sense.
Regards,