I had to move a perl script from an old server to a new one. Both the old and new servers are running "CentOS release 5.10 (Final)" and perl v5.8.8. (But the problem I'm running into appears to be a package management problem and not a Perl problem which is why I'm posting it to a CentOS list.) The line of code in the script that attempts to open a Net::SFTP connection, which was working fine on the old machine, no longer works on the new machine. I've tracked it down to the module Net::SSH::Perl::Key::DSA not loading correctly on the new machine. On the old one, the line: perl -e "use Net::SSH::Perl::Key::DSA;" gives no error and no output (as expected), but on the new machine, the same line gives: www:/var/www/html/circumventor# perl -e "use Net::SSH::Perl::Key::DSA;" Math::BigInt version 1.78 required--this is only version 1.77 at /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm line 4. BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm line 4. Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA.pm line 7. BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA.pm line 7. Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8.8/Net/SSH/Perl/Key/DSA.pm line 14. BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Net/SSH/Perl/Key/DSA.pm line 14. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. I tried to install Math::BigInt on my new machine, by adding a file at /etc/yum.repos.d/custom.repo containing the lines: [local] name=Perl_module baseurl=http://apt.sw.be/redhat/el5/en/i386/rpmforge/ enabled=1 gpgcheck=0 and then running "yum install Math::BigInt", but it just goes through a lot of spew and then ends with this error: >>> Transaction Check Error: file /usr/share/man/man3/Math::BigFloat.3pm.gz from install of perl-Math-BigIn t-1.89-1.el5.rf.noarch conflicts with file from package perl-5.8.8-41.el5.i386 file /usr/share/man/man3/Math::BigInt.3pm.gz from install of perl-Math-BigInt- 1.89-1.el5.rf.noarch conflicts with file from package perl-5.8.8-41.el5.i386 file /usr/share/man/man3/Math::BigInt::Calc.3pm.gz from install of perl-Math-B igInt-1.89-1.el5.rf.noarch conflicts with file from package perl-5.8.8-41.el5.i3 86 file /usr/share/man/man3/Math::BigInt::CalcEmu.3pm.gz from install of perl-Mat h-BigInt-1.89-1.el5.rf.noarch conflicts with file from package perl-5.8.8-41.el5 .i386 Error Summary >>> Both servers have Math::BigInt 1.77 installed. As far as I can tell, the reason the error occurs on the new server but not on the old server, is because on the old server the place that Math::BigInt is loaded is in the file /usr/lib/perl5/vendor_perl/5.8.8/Net/IP.pm which contains the line: use Math::BigInt; whereas on the new server, Math::BigInt is loaded in the file /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm which contains the line: use Math::BigInt 1.78 try => 'GMP, Pari'; However, that's where my "expertise", such as it is, runs out. I have no idea why the two machines even attempt to load Math::BigInt in two different ways since I don't remember installing things differently on them. I would like to fix the problem on the new machine in the cleanest possible way (i.e., not just commenting out the "1.78" in the line "use Math::BigInt 1.78" -- I don't think that would be the "clean" solution!). Any idea what to do? Bennett
Can you verify to which packages thefiles belong? Try using RPM: rpm -qf /usr/lib/perl5/vendor_perl/5.8.8/Net/IP.pm and rpm -qf /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm Tom Robinson IT Manager/System Administrator MoTeC Pty Ltd 121 Merrindale Drive Croydon South 3136 Victoria Australia T: +61 3 9761 5050 F: +61 3 9761 5051 E: tom.robinson at motec.com.au On 01/04/14 13:34, Bennett Haselton wrote:> I had to move a perl script from an old server to a new one. Both the > old and new servers are running "CentOS release 5.10 (Final)" and perl > v5.8.8. (But the problem I'm running into appears to be a package > management problem and not a Perl problem which is why I'm posting it to > a CentOS list.) > > The line of code in the script that attempts to open a Net::SFTP > connection, which was working fine on the old machine, no longer works > on the new machine. I've tracked it down to the module > Net::SSH::Perl::Key::DSA not loading correctly on the new machine. On > the old one, the line: > perl -e "use Net::SSH::Perl::Key::DSA;" > gives no error and no output (as expected), but on the new machine, the > same line gives: > > www:/var/www/html/circumventor# perl -e "use Net::SSH::Perl::Key::DSA;" > Math::BigInt version 1.78 required--this is only version 1.77 at > /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm line 4. > BEGIN failed--compilation aborted at > /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm line 4. > Compilation failed in require at > /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA.pm line 7. > BEGIN failed--compilation aborted at > /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA.pm line 7. > Compilation failed in require at > /usr/lib/perl5/vendor_perl/5.8.8/Net/SSH/Perl/Key/DSA.pm line 14. > BEGIN failed--compilation aborted at > /usr/lib/perl5/vendor_perl/5.8.8/Net/SSH/Perl/Key/DSA.pm line 14. > Compilation failed in require at -e line 1. > BEGIN failed--compilation aborted at -e line 1. > > I tried to install Math::BigInt on my new machine, by adding a file at > /etc/yum.repos.d/custom.repo containing the lines: > > [local] > name=Perl_module > baseurl=http://apt.sw.be/redhat/el5/en/i386/rpmforge/ > enabled=1 > gpgcheck=0 > > and then running "yum install Math::BigInt", but it just goes through a > lot of spew and then ends with this error: > > >>> > Transaction Check Error: > file /usr/share/man/man3/Math::BigFloat.3pm.gz from install of > perl-Math-BigIn > t-1.89-1.el5.rf.noarch conflicts with file from package > perl-5.8.8-41.el5.i386 > file /usr/share/man/man3/Math::BigInt.3pm.gz from install of > perl-Math-BigInt- > 1.89-1.el5.rf.noarch conflicts with file from package perl-5.8.8-41.el5.i386 > file /usr/share/man/man3/Math::BigInt::Calc.3pm.gz from install of > perl-Math-B > igInt-1.89-1.el5.rf.noarch conflicts with file from package > perl-5.8.8-41.el5.i3 > 86 > file /usr/share/man/man3/Math::BigInt::CalcEmu.3pm.gz from install of > perl-Mat > h-BigInt-1.89-1.el5.rf.noarch conflicts with file from package > perl-5.8.8-41.el5 > .i386 > > Error Summary > >>> > > Both servers have Math::BigInt 1.77 installed. As far as I can tell, the > reason the error occurs on the new server but not on the old server, is > because on the old server the place that Math::BigInt is loaded is in > the file /usr/lib/perl5/vendor_perl/5.8.8/Net/IP.pm which contains the line: > use Math::BigInt; > whereas on the new server, Math::BigInt is loaded in the file > /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm which contains > the line: > use Math::BigInt 1.78 try => 'GMP, Pari'; > > However, that's where my "expertise", such as it is, runs out. I have no > idea why the two machines even attempt to load Math::BigInt in two > different ways since I don't remember installing things differently on > them. I would like to fix the problem on the new machine in the cleanest > possible way (i.e., not just commenting out the "1.78" in the line "use > Math::BigInt 1.78" -- I don't think that would be the "clean" solution!). > > Any idea what to do? > > Bennett > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 263 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20140401/e8571563/attachment-0002.sig>
On 3/31/2014 7:56 PM, Tom Robinson wrote:> Can you verify to which packages thefiles belong? > > Try using RPM: > > rpm -qf /usr/lib/perl5/vendor_perl/5.8.8/Net/IP.pm > > and > > rpm -qf /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pmfor that matter, on both machines... rpm -qa |grep ^perl -- john r pierce 37N 122W somewhere on the middle of the left coast
On 3/31/2014 7:56 PM, Tom Robinson wrote:> Can you verify to which packages thefiles belong? > > Try using RPM: > > rpm -qf /usr/lib/perl5/vendor_perl/5.8.8/Net/IP.pmOn the old machine: perl-Net-IP-1.25-2.fc6> and > > rpm -qf /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pmOn the new machine: perl-Crypt-DSA-1.16-1.el5.rf> > Tom Robinson > IT Manager/System Administrator > > MoTeC Pty Ltd > > 121 Merrindale Drive > Croydon South > 3136 Victoria > Australia > > T: +61 3 9761 5050 > F: +61 3 9761 5051 > E: tom.robinson at motec.com.au > > On 01/04/14 13:34, Bennett Haselton wrote: >> I had to move a perl script from an old server to a new one. Both the >> old and new servers are running "CentOS release 5.10 (Final)" and perl >> v5.8.8. (But the problem I'm running into appears to be a package >> management problem and not a Perl problem which is why I'm posting it to >> a CentOS list.) >> >> The line of code in the script that attempts to open a Net::SFTP >> connection, which was working fine on the old machine, no longer works >> on the new machine. I've tracked it down to the module >> Net::SSH::Perl::Key::DSA not loading correctly on the new machine. On >> the old one, the line: >> perl -e "use Net::SSH::Perl::Key::DSA;" >> gives no error and no output (as expected), but on the new machine, the >> same line gives: >> >> www:/var/www/html/circumventor# perl -e "use Net::SSH::Perl::Key::DSA;" >> Math::BigInt version 1.78 required--this is only version 1.77 at >> /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm line 4. >> BEGIN failed--compilation aborted at >> /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm line 4. >> Compilation failed in require at >> /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA.pm line 7. >> BEGIN failed--compilation aborted at >> /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA.pm line 7. >> Compilation failed in require at >> /usr/lib/perl5/vendor_perl/5.8.8/Net/SSH/Perl/Key/DSA.pm line 14. >> BEGIN failed--compilation aborted at >> /usr/lib/perl5/vendor_perl/5.8.8/Net/SSH/Perl/Key/DSA.pm line 14. >> Compilation failed in require at -e line 1. >> BEGIN failed--compilation aborted at -e line 1. >> >> I tried to install Math::BigInt on my new machine, by adding a file at >> /etc/yum.repos.d/custom.repo containing the lines: >> >> [local] >> name=Perl_module >> baseurl=http://apt.sw.be/redhat/el5/en/i386/rpmforge/ >> enabled=1 >> gpgcheck=0 >> >> and then running "yum install Math::BigInt", but it just goes through a >> lot of spew and then ends with this error: >> >> >>> >> Transaction Check Error: >> file /usr/share/man/man3/Math::BigFloat.3pm.gz from install of >> perl-Math-BigIn >> t-1.89-1.el5.rf.noarch conflicts with file from package >> perl-5.8.8-41.el5.i386 >> file /usr/share/man/man3/Math::BigInt.3pm.gz from install of >> perl-Math-BigInt- >> 1.89-1.el5.rf.noarch conflicts with file from package perl-5.8.8-41.el5.i386 >> file /usr/share/man/man3/Math::BigInt::Calc.3pm.gz from install of >> perl-Math-B >> igInt-1.89-1.el5.rf.noarch conflicts with file from package >> perl-5.8.8-41.el5.i3 >> 86 >> file /usr/share/man/man3/Math::BigInt::CalcEmu.3pm.gz from install of >> perl-Mat >> h-BigInt-1.89-1.el5.rf.noarch conflicts with file from package >> perl-5.8.8-41.el5 >> .i386 >> >> Error Summary >> >>> >> >> Both servers have Math::BigInt 1.77 installed. As far as I can tell, the >> reason the error occurs on the new server but not on the old server, is >> because on the old server the place that Math::BigInt is loaded is in >> the file /usr/lib/perl5/vendor_perl/5.8.8/Net/IP.pm which contains the line: >> use Math::BigInt; >> whereas on the new server, Math::BigInt is loaded in the file >> /usr/lib/perl5/vendor_perl/5.8.8/Crypt/DSA/KeyChain.pm which contains >> the line: >> use Math::BigInt 1.78 try => 'GMP, Pari'; >> >> However, that's where my "expertise", such as it is, runs out. I have no >> idea why the two machines even attempt to load Math::BigInt in two >> different ways since I don't remember installing things differently on >> them. I would like to fix the problem on the new machine in the cleanest >> possible way (i.e., not just commenting out the "1.78" in the line "use >> Math::BigInt 1.78" -- I don't think that would be the "clean" solution!). >> >> Any idea what to do? >> >> Bennett >> _______________________________________________ >> CentOS mailing list >> CentOS at centos.org >> http://lists.centos.org/mailman/listinfo/centos > > > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos