I have an ec2 instance with an older version (3.0.2) of R that I'm trying to update to the latest (3.1.1). This is not available in the default yum repo, but is available under EPEL.
The installed version is 3.0.2:
[hadoop@ip-172-31-19-15 ~]$ yum list R-core
Loaded plugins: priorities, update-motd, upgrade-helper
970 packages excluded due to repository priority protections
Installed Packages
R-core.x86_64 3.0.2-1.17.amzn1 @amzn-main
Available Packages
R-core.i686 3.0.2-1.17.amzn1 amzn-main
These are the repos
[hadoop@ip-172-31-19-15 ~]$ yum repolist
Loaded plugins: priorities, update-motd, upgrade-helper
970 packages excluded due to repository priority protections
repo id repo name status
!amzn-main/latest amzn-main-Base 4,801
!amzn-updates/latest amzn-updates-Base 1,497
epel/x86_64 Extra Packages for Enterprise Linux 6 - x86_64 10,139+970
repolist: 16,437
Specifying the epel repo, I can see version 3.1.1, it is also listed here
sudo yum --disablerepo="*" --enablerepo="epel" list R-core
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
R-core.x86_64 3.0.2-1.17.amzn1 @amzn-main
Available Packages
R-core.i686 3.1.1-3.el6 epel
R-core.x86_64 3.1.1-3.el6
However when I try to install using sudo yum --disablerepo="*" --enablerepo="epel" install R-core
I get the following errors:
--> Finished Dependency Resolution
Error: Package: R-java-3.1.1-3.el6.x86_64 (epel)
Requires: java-1.5.0-gcj
Error: Package: R-core-devel-3.1.1-3.el6.x86_64 (epel)
Requires: libicu-devel
Error: Package: R-core-devel-3.1.1-3.el6.x86_64 (epel)
Requires: tcl-devel
Error: Package: R-core-devel-3.1.1-3.el6.x86_64 (epel)
Requires: tk-devel
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libicuuc.so.42()(64bit)
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: xdg-utils
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libicui18n.so.42()(64bit)
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libtcl8.5.so()(64bit)
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libtk8.5.so()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Presumably this is caused by disabling * repo and only enabling epel which could prevent some dependencies being found, I had to do otherwise it'd only find 3.0.2 from amzn_main.
What is the correct command I should use to install 3.1.1 from the epel repo?
Need to add a priority to all the repos set up. Go to /etc/yum.repos.d and edit all the files and add priority
The lower the number the more important it is – so the EPEL ones are the lowest.
Example:
EPEL is not compatible with Amazon Linux. It used to be, back in the very early days when Amazon Linux looked more like CentOS, but it is too different now.