Re: add @INC directory

[email protected] (Gunnar Hjalmarsson)
Newsgroups perl.beginners
Message-ID <[email protected]>
William wrote:
>> William wrote:
>>> Gunnar Hjalmarsson wrote:
>>>> You should have read the Install file before installing the new 
>>>> version. All your questions are answered there; see in particular 
>>>> http://search.cpan.org/~rgarcia/perl-5.10.0/INSTALL#Coexistence_with_earlier_versions_of_perl_5
>>>> 
>>>> You may now want to recompile perl to get the @INC you want.
>>>
>>> Thanks, I have read more than half of it, but I am just too haste 
>>> especially for slow reader, lol. I have reinstalled all the modules 
>>> of old perl into new perl. Maybe it's better, in case I would need 
>>> the perl 5.8.8 again.
>>
>> In any case it's not better for that reason. Sharing pure Perl modules 
>> by including those directories in the @INC of the new version would not 
>> have affected the way the old Perl version works.
> 
> I would love to share the modules between these two versions too, but 
> when I try this "use Carp; use lib '/usr/local/lib/perl/5.8.8';" in 
> perl-5.10 , I got the error below. The errors are so scary, maybe 
> still better I reinstall all. Even when I reinstalled all I still 
> getting few errors until I use 'recompile' in CPAN command.
> 
> /usr/sbin/apache2: symbol lookup error: /usr/local/lib/perl/5.8.8/auto/Storable/Storable.so: undefined symbol: Perl_Tstack_sp_ptr
> /usr/sbin/apache2: symbol lookup error: /usr/local/lib/perl/5.8.8/auto/Storable/Storable.so: undefined symbol: Perl_Tstack_sp_ptr
> /usr/sbin/apache2: symbol lookup error: /usr/local/lib/perl/5.8.8/auto/Storable/Storable.so: undefined symbol: Perl_Tstack_sp_ptr
> /usr/sbin/apache2: symbol lookup error: /usr/local/lib/perl/5.8.8/auto/Storable/Storable.so: undefined symbol: Perl_Tstack_sp_ptr
> /usr/sbin/apache2: symbol lookup error: /usr/local/lib/perl/5.8.8/auto/Storable/Storable.so: undefined symbol: Perl_Tstack_sp_ptr

Note that it's the /site_perl directories that contain pure Perl modules.

Recently I installed Perl 5.10.0, and this is what my @INC looks like:

$ perl -e 'print "$_\n" for @INC'
/usr/lib/perl5/5.10.0/i686-linux
/usr/lib/perl5/5.10.0
/usr/lib/perl5/site_perl/5.10.0/i686-linux
/usr/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl
.
$

As you can see, the path /usr/lib/perl5/5.8.1 is not included, but 
/usr/lib/perl5/site_perl/5.8.1 is. That makes the pure Perl modules from 
my previous version (5.8.1) available to 5.10.0, while the compiled 
5.8.1 modules are not seen.

OTOH, as you said that you have reinstalled all the modules, why do you 
keep bothering?

-- 
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.