Problems installing x2goserver-xsession on a fresh install of CentOS 7.1 on Amazon EC2

1

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?

Mariana

Posted 2015-09-11T21:34:12.270

Reputation: 59

Your problem seems to be on CentOS 7.1 but you say this: “What is really strange is that this same procedure work completely fine at Linode with a fresh install of CentOS 7.” Is that CentOS 7.0? Because if that’s the case, this is an issue with packages installed by default on CentOS 7.0 versus CentOS 7.1. Also, the issue is you just need to install Requires: perl(File::Which), Requires: perl(Config::Simple) and Requires: perl(Capture::Tiny) before the main command. – JakeGould – 2015-09-11T21:41:45.393

yes, in my Linode I have CentOS 7 and at Amazon I have CENTOS 7.1. So how do I install this x2go on Amazon? Is there any plugin that I should "yum install" to fix this dependency issue? – Mariana – 2015-09-11T21:44:05.777

As my comment states, the issue is you just need to install Requires: perl(File::Which), Requires: perl(Config::Simple) and Requires: perl(Capture::Tiny) before the main command. Those are Perl modules. – JakeGould – 2015-09-11T21:45:15.343

@JakeGould thank you. But I tried "yum install perl(File::Which)" and it didnt work... any idea? – Mariana – 2015-09-11T21:45:51.743

Posted a full answer on how to install Perl CPAN packages. Hopefully that should work. This is not an Amazon EC2 versus Linode issue; this is a CentOS 7.0 versus CentOS 7.1 issue and specifically how the x2go RPM deals with required dependencies. Maybe CentOS 7.0 had those Perl packages installed as part of the base OS and CentOS 7.1 doesn’t have them? Details in the answer. – JakeGould – 2015-09-11T21:56:39.413

Answers

1

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:

--> 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

The issue is you just need to install Requires: perl(File::Which), Requires: perl(Config::Simple) and Requires: 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:

cd ~/

Next, install Perl on your system like this:

sudo yum install perl

Or you might need to run this command to get Perl and CPAN installed:

sudo yum install perl-SPAN

But after that is done, run cpan like this via sudo:

sudo cpan

Now install YAML for the CPAN setup:

install YAML

Finally, install the actual CPAN modules like this:

install File::Which Config::Simple Capture::Tiny

When that’s done, exit:

quit

And now run that yum command again:

yum -y install x2goserver-xsession

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.

JakeGould

Posted 2015-09-11T21:34:12.270

Reputation: 38 217

Tnks so much! I am having this error at the beginning of your tutorial: bash: cpan: command not found – Mariana – 2015-09-11T21:56:04.613

I got it! :) Now I get this error right after yum install x2goserver-xsession -> Failing package is: libNX_Xcomposite1-3.5.0.32-0.0x2go1.1.git20150704.734.main.el7.centos.x86_64 GPG Keys are configured as: http://packages.x2go.org/pub.key

– Mariana – 2015-09-11T22:02:15.443

@Mariana cpan is a part of Perl. Just edited my answer to explain how to install Perl. – JakeGould – 2015-09-11T22:02:56.830

@Mariana Perhaps you need to explicitly use CentOS 7.0 instead of 7.1? I can't help you any further. I have helped you the best I can. Good luck! – JakeGould – 2015-09-11T22:04:49.477

Yes, you are damm right!!!!!! I will move back to Centos 7! Your help was very nice and it almost worked, anyway I will come back to Centos 7! Thank you so much! – Mariana – 2015-09-11T22:09:05.253

@JakeGould cpanis not part of perl package, one has to install it with yum install cpan – Bojan Markovic – 2016-08-26T09:52:06.523