[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