souboj verzi?
Honza Pazdziora
adelton na informatics.muni.cz
Pátek Říjen 30 09:20:26 MET 1998
>
> Nainstaloval jsem modul Date::Manip. Chtel jsem ho vyzkouset:
>
> Script started on Thu Oct 29 23:34:21 1998
> [root na gate wcal-1.08]# perl -e 'require Date::Manip;'
> IO object version 1.19 does not match $IO:: 1.15 at /usr/lib/perl5/i386-linux/5.00404/DynaLoader.pm line 185.
> BEGIN failed--compilation aborted at /usr/lib/perl5/i386-linux/5.00404/IO/Seekable.pm line 50.
> BEGIN failed--compilation aborted at /usr/lib/perl5/i386-linux/5.00404/IO/File.pm line 111.
> BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/Date/Manip.pm line 123.
> [root na gate wcal-1.08]#
> Script done on Thu Oct 29 23:34:35 1998
>
> Znamena to, ze mam starou verzi IO ?
No, znamena to zmatek. Nektere moduly (a IO je tusim jednim z nich) se
skladaji z *.pm souboru a ze *.so souboru, to jsou ty, ktere jsou
vytvoreny pri kompilaci. Soubory mohou byt v ruznych adresarich --
lib/, lib/site_perl, lib/i386-linux a tak.
Vsechno nasvedcuje tomu, ze IO.pm (1.19) je nainstalovan v takovem
adresari, ze je az (v procesu prohledavani tech cest, cili @INC) za
IO.pm (1.15). To se mohlo stat, protoze nektere moduly v prubehu verzi
zmenily svuj nazor na to, kam by chtely byt instalovany. Taky pri
instalaci to muselo psat neco o tom, ze stara verze prekryva novou
a ze tu starou mate smazat.
Cili reseni je projit @INC a najit stare IO.pm (1.15) a zrusit ho.
Anebo, alternativne
$ perl -MCPAN -e shell
cpan> force install IO
a ve vypise najit to o zakryvani novych verzi starymi.
Doufam, ze to pomuze,
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
I can take or leave it if I please
------------------------------------------------------------------------
Další informace o konferenci Perl