Bug in RPM perl macros?
Radoslaw Zielinski
radek at karnet.pl
Tue May 18 23:49:51 CEST 2004
Aredridel <aredridel at nbtsc.org> [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 <radek at karnet.pl>
[ GPG key: http://radek.karnet.pl/ ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : /mailman/pipermail/pld-devel-en/attachments/20040626/496f8437/attachment-0002.bin
More information about the pld-devel-en
mailing list