Aredridel <[EMAIL PROTECTED]> [18-05-2004 04:18]: > I just installed irssi, and it fails because of a version mismatch in > DynaLoader, loading the IRSSI library when loading a perl script: [...] > DynaLoader object version 1.04 does not match $DynaLoader::VERSION 1.05 > at > /usr/lib/perl5/5.8.4/i686-pld-linux-thread-multi/DynaLoader.pm > line 106. [...] > Ideas? This is with perl-5.8.4-5.
I think that's because DynaLoader.a is linked statically into the
binary:
$ LANG=C grep -r DynaLoader *|grep -v ^perl/|grep -v PERL_LINK_FLAGS
fe-none/Makefile:
-Wl,-rpath,/usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi/CORE
/usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi/auto/DynaLoader/DynaLoader.a
-L/usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi/CORE -lperl -ldl -lm -lpthread
-lcrypt \
fe-text/Makefile:
-Wl,-rpath,/usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi/CORE
/usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi/auto/DynaLoader/DynaLoader.a
-L/usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi/CORE -lperl -ldl -lm -lpthread
-lcrypt \
Binary file fe-text/irssi matches
Binary file perl/.libs/perl-core.o matches
Binary file perl/.libs/libperl_core_static.a matches
Binary file perl/perl-core.o matches
If I'm right, then any program which embeds the Perl interpreter should
have
Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -le 'print
$DynaLoader::VERSION')
in it's *.spec...
RPM perl macros have nothing to do with it, the perl.req script is
just a simple tool and doesn't even aim at recognizing this sort of
dependencies.
--
Radosław Zieliński <[EMAIL PROTECTED]>
[ GPG key: http://radek.karnet.pl/ ]
pgpimEqpgQ0Im.pgp
Description: PGP signature
