I have a fresh install of CentOS 7.1 on Amazon EC2. After boot I executed:
yum update
Then I enabled an EPEL with:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Fine. After that I tried to install x2go
with the command line below:
yum -y install x2goserver-xsession
I get many many lines and at the bottom it says this:
--> Finished Dependency Resolution
Error: Package: x2goserver-4.0.1.19-3.el7.x86_64 (epel)
Requires: perl(File::Which)
Error: Package: x2goserver-4.0.1.19-3.el7.x86_64 (epel)
Requires: perl(Config::Simple)
Error: Package: x2goserver-4.0.1.19-3.el7.x86_64 (epel)
Requires: perl(Capture::Tiny)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
What is really strange is that this same procedure work completely fine at Linode with a fresh install of CentOS 7.0. Why is Amazon EC2 having trouble to install x2go? Any idea how I can fix this?
Best Answer
First, this has 100% nothing to do with Amazon EC2 servers versus Linode servers. This is a simple—but still complex—issue of am RPM needing dependencies that are not installed on the system. Clear up those dependencies and all should be good.
Before anything else, look at the errors returned:
The issue is you just need to install
Requires: perl(File::Which)
,Requires: perl(Config::Simple)
andRequires: perl(Capture::Tiny)
before the main command. Those are Perl CPAN modules. Apparently the RPM doesn’t handle those Perl specific dependencies.While I’m unfamiliar with
x2go
, this should work for installing the Perl CPAN modules.First, get into your home directory on the server:
Next, install Perl on your system like this:
Or you might need to run this command to get Perl and CPAN installed:
But after that is done, run
cpan
like this viasudo
:Now install YAML for the CPAN setup:
Finally, install the actual CPAN modules like this:
When that’s done, exit:
And now run that
yum
command again:Hopefully that all works. But if all of this doesn’t work—or if more errors come up—this could mean you need to explicitly use a CentOS 7.0 OS on the Amazon EC2 instance.