[rt-users] perl upgrade

Richard Ellis Richard.Ellis at Sun.COM
Thu May 27 06:33:39 EDT 2004


It's probably an odd question, but have you looked at autobundle?

We do it all the time when upgrading perl.

Simply go to command prompt and type perl -MCPAN -e shell and when it
comes up type autobundle.

It will then take a list of all the modules you have installed.

Install your new version of perl and then run
perl -MCPAN -e 'install xxxxxxxxxxxxxxxxxx'

where xxxxxxx is the name of your Snapshot file, dropping the .pm on the
end

e.g perl -MCPAN -e 'install Snapshot_2004_05_26_00'

as I am doing now

Rik

> 
> Message: 10
> Date: Thu, 27 May 2004 11:23:15 +0200
> From: Peter Jamri?ko <peter.jamrisko at advantel.cz>
> Subject: Re: [rt-users] perl upgrade
> To: "Ruslan U. Zakirov" <cubic at acronis.ru>
> Cc: rt <rt-users at lists.bestpractical.com>
> Message-ID: <40B5B383.9040607 at advantel.cz>
> Content-Type: text/plain; charset=windows-1252; format=flowed
> 
> Hi,
> 
> I tried recompile perl (with -Dinc_version_list=none) on a test machine 
> and now i cannot run urpm (and many more stuff probably too).
> In this case I have to recompile vendor_perl modules too. And this could 
> be very hard. In that directory are modules like: MDK,... and waht is 
> bad, there are also binary modules under the /i386-linux-thread-multi 
> (PAM, URPM, GTK). And probably i will need to search for sources for 
> these modules and recompile them for new perl version. Am i right? I'm 
> not sure if i find all of these sources.
> 
> Maybe i can compile perl without "-Dinc_version_list=none" (as i did it 
> first time) and then recompile modules needed by RT only. These new 
> modules should be then located under /usr/lib/perl5/site_perl/5.8.4/. I 
> made a test. I installed HTML::Mason via cpan (with symlink 'perl' point 
> to perl5.8.0) and second time with symlink point to perl5.8.4. In webmin 
> now i can see 2 modules HTML::Mason, but each one is installed in 
> different directory.
> Then i checked with 'perl5.8.0 /usr/bin/perldoc -l HTML::Mason', i got: 
> '/usr/lib/perl5/site_perl/5.8.0/HTML/Mason.pm'.
> And with 'perl5.8.4 /usr/local/bin/perldoc -l HTML::Mason' i got 
> '/usr/lib/perl5/site_perl/5.8.4/HTML/Mason.pm'.
> 
> Can i recompile the rest of modules in this way too?
> 
> I'm using RT 3.0.10 and there is only one reason for this upgrade, 
> sometimes i got (with perl 5.8.0) these two errors:
> 
> [Mon May 24 14:00:40 2004] [error] [client 192.168.6.51] FastCGI: server 
> "/opt/rt3/bin/mason_handler.fcgi" stderr: [Mon May 24 12:00:40 2004] 
> [error]: Scrip 2 died. - Insecure dependency in eval while running 
> setgid at /usr/lib/perl5/site_perl/5.8.0/Text/Template.pm line 319., 
> referer: http://rt.advantel.cz/Ticket/Create.html?Queue=11
> 
> AND this
> 
> [Fri May 21 11:31:46 2004] [error] [client 192.168.6.15] FastCGI: server 
> "/opt/rt3/bin/mason_handler.fcgi" stderr: [Fri May 21 09:31:46 2004] 
> [error]: Do not know how to thaw data with code `F' at 
> /usr/lib/perl5/site_perl/5.8.0/FreezeThaw.pm line 542, referer: 
> http://rt.advantel.cz/Search/Listing.html?ClearRestrictions=1
> 
> 
> Thanks.
> 
> 
> Ruslan U. Zakirov wrote:
> 
> > Peter Jamriko wrote:
> >
> >> I think so:
> >>
> >> [root at fserver root]# perl5.8.4 -V
> >
> > [snip]
> >
> >>  @INC:
> >>    /usr/local/lib/perl5/5.8.4/i386-linux-thread-multi
> >>    /usr/local/lib/perl5/5.8.4
> >>    /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
> >>    /usr/lib/perl5/site_perl/5.8.4
> >>    /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
> >>    /usr/lib/perl5/site_perl/5.8.0
> >>    /usr/lib/perl5/site_perl
> >>    /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
> >>    /usr/lib/perl5/vendor_perl/5.8.4
> >>    /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
> >>    /usr/lib/perl5/vendor_perl/5.8.0
> >>    /usr/lib/perl5/vendor_perl
> >
> >
> > Yes. You've mixed them. It's shouldn't be problem in theory, but it's 
> > problem in real life.
> >
> > 1) You can rebuild perl:
> > sh Configure '-des -Darchname=i386-linux -Dcc=gcc -Doptimize=-O2 
> > -Dprefix=/usr/local -Dvendorprefix=/usr -Dsiteprefix=/usr 
> > -Dman3ext=3pm -Dcf_by=Mandrakesoft -Dmyhostname=localhost 
> > -Dperladmin=root at localhost -Dd_dosuid -Ud_csh -Duseshrplib 
> > -Dusethreads -Dinc_version_list=none'
> >
> > I've added '-Dinc_version_list=none'. Original list I got from your 
> > setup. You can get it too with `perl5.8.4 -V:config_args`
> >
> > then you should install all deps. rt-test-dependecies makes it easy.
> >
> > 2)
> > Under i386-linux-thread-multi dirs there is all perl's binary parts. 
> > Scan it for module names and rebuild that modules.
> >
> >         Best regards. Ruslan.





More information about the RT-Users mailing list