[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