Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

(Help Needed) Uninstall Perl 5.10 and Install 5.8 on Ubuntu 10.04

by skumar1 (Initiate)
on Sep 09, 2010 at 10:44 UTC ( #859489=perlquestion: print w/replies, xml ) Need Help??

skumar1 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All, I was using Ubuntu 8.04 with installed Perl 5.8.8. I had installed Bugzilla 3.4.4 with some custom scripts and it was working fine. I had to upgrade Ubuntu from 8.04 to 10.04 and automatically Perl is also upgraded from Perl 5.8 to 5.10. Now accessing Bugzilla displays error message related to Perl module. While trying to run checksetup.pl, I am getting following error message : root@cvsnew:/var/www/bugzilla-3.4# perl checksetup.pl * This is Bugzilla 3.4.3 on perl 5.10.1 * Running on Linux 2.6.32-24-generic-pae #39-Ubuntu SMP Wed Jul 28 07:39:26 UTC 2010 Checking perl modules... Checking for CGI.pm (v3.33) ok: found v3.48 perl: symbol lookup error: lib/i486-linux-gnu-thread-multi/auto/Digest/SHA/SHA.so: undefined symbol: Perl_Tstack_sp_ptr Accessing Bugzilla throws : "500 Internal Server Error". I explored this issue and found that this issue has come up because upgrading Ubuntu upgrades Perl 5.8 to 5.10 automatically. It seems like Perl 5.10.1 isn't binary compatible with the previous. Now, I want to uninstall Perl 5.10.1 and Install Perl 5.8.8 on my Ubuntu 10.04 box. I will appreciate if someone has already done that or share the required steps/commands to do it. Thanks for your quick response. Regards Kumaar
  • Comment on (Help Needed) Uninstall Perl 5.10 and Install 5.8 on Ubuntu 10.04

Replies are listed 'Best First'.
Re: (Help Needed) Uninstall Perl 5.10 and Install 5.8 on Ubuntu 10.04
by marto (Cardinal) on Sep 09, 2010 at 10:52 UTC

    You Don't want to uninstall Perl 5.10.x that ships with Ubuntu. That's the system Perl. Don't touch it. If you want to run another version of Perl download it and install it to another path:

    ./Configure -des -Dprefix=$HOME/Your/other/path/here make test make install

    Update: Different major versions or Perl aren't binary compatible, (e.g. 5.8.x to 5.10.x), you can't expect modules with aren't pure Perl to work without reinstalling said modules.

Re: (Help Needed) Uninstall Perl 5.10 and Install 5.8 on Ubuntu 10.04
by wazoox (Prior) on Sep 09, 2010 at 11:42 UTC

    The simplest way to correct the problem is to reinstall BugZilla. Most probably your new 5.10 install don't see your old 5.8 modules.

      Indeed. It looks like, for one, the module Digest::SHA is missing.

      You could also just try to install that one manually module, either via the Ubuntu "install software" feature, or directly in Perl using CPAN. Repeat if you find one more module missing.

Re: (Help Needed) Uninstall Perl 5.10 and Install 5.8 on Ubuntu 10.04
by Anonymous Monk on Sep 09, 2010 at 11:23 UTC
    You can use App::perlbrew to install and switch between different versions of Perl without interacting with the system installation.
Re: (Help Needed) Uninstall Perl 5.10 and Install 5.8 on Ubuntu 10.04
by pemungkah (Priest) on Sep 09, 2010 at 21:02 UTC
    This is a classic "this XS module wants a different Perl" problem. My guess would be that Bugzilla wasn't upgraded so none of its prereqs (including XS Perl modules not in the Perl core) were either, and these modules apparently aren't packaged to require a specific Perl as they should be. If they were, upgrading Perl would have forced an upgrade of these modules.

    If you upgrade the packages for the Perl modules that are failing that will probably solve your problem. You shouldd also check to see if there's a Bugzilla upgrade for 10.04 as well; if there is, it will probably fix all the problems for you. Make sure to back up your bug database before trying a reinstall!

    If you installed Bugzilla and its support by hand - that is, you used the CPAN shell or something similar, then that's the reason the Perl modules didn't upgrade - the package management system had no way to know there were Perl modules that wouldn't work with the new Perl. You'll need to rebuild those modules and reinstall them.

      Thanks to all of you for posting on this issue. As per suggestion, I installed Perl 5.12.2 on my box in different directory, but running command "perl -v" still shows perl 5.10.1. I tried to run "perl -V" and it displays error message as

      perl -V Can't locate Config.pm in @INC (@INC contains: /etc/perl /usr/local/li +b/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/ +perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_per +l .). BEGIN failed--compilation aborted.
      root@cvsnew:/var/www/bugzilla-3.4# perl checksetup.pl Can't locate strict.pm in @INC (@INC contains: /etc/perl /usr/local/li +b/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/ +perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_per +l .) at checksetup.pl line 45. BEGIN failed--compilation aborted at checksetup.pl line 45.
      root@cvsnew:/var/www/bugzilla-3.4# ./checksetup.pl --check-modules Can't locate strict.pm in @INC (@INC contains: /etc/perl /usr/local/li +b/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/ +perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_per +l .) at ./checksetup.pl line 45. BEGIN failed--compilation aborted at ./checksetup.pl line 45. root@cvsnew:/var/www/bugzilla-3.6# /usr/bin/perl install-module.pl --a +ll Can't locate strict.pm in @INC (@INC contains: /etc/perl /usr/local/li +b/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/ +perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_per +l .) at install-module.pl line 22. BEGIN failed--compilation aborted at install-module.pl line 22.

      I have no idea about how to progress on this issue. Kindly help me out.

        If you type:

        which perl

        You'll notice it returns:

        /usr/bin/perl

        Which is why you are getting the 5.10 results. If you type:

        /your/install/path/here/bin/perl -V

        You should see the results for 5.12. In the checksetup.pl script change the shebang line to point to your version of perl. You could create a symlink to your perl install to make things easier.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://859489]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (1)
As of 2022-01-16 19:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (49 votes). Check out past polls.

    Notices?