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