[rt-users] perl upgrade
Peter Jamriško
peter.jamrisko at advantel.cz
Thu May 27 05:23:15 EDT 2004
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 Jamriško 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