reassign 467072 perl thanks Hi,
On Fri, Feb 22, 2008 at 09:44:40PM +0200, Niko Tyni wrote: > Your package fails to build with Perl 5.10.0 (currently in experimental.) [...] > cc1: warnings being treated as errors > perl.c: In function 'perl_config_loadplugin': > perl.c:1443: warning: null argument where non-null required (argument 3) > make[4]: *** [perl_la-perl.lo] Error 1 Imho, this is a bug in perl. It is caused by passing 'Nullsv' as third argument to load_module() which expands to Perl_load_module_nocontext() in my case. In proto.h (l. 262), this is defined as: void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...) __attribute__nonnull__(2) __attribute__nonnull__(3); However, in op.c (l. 3844) inside Perl_vload_module() (which is called from Perl_load_module_nocontext()), the third argument, ver, is evaluated in boolean context to check if a specific version of the module that is to be loaded has been specified. So, if 'ver' may not be NULL, there is no way to specify that no particular version of the module is required. A quick grep reveals that NULL is commonly used as a third argument to load_module() in the perl sources as well, so I don't think that this __attribute__nonnull__ is what people really want and I suggest to simply remove it again. Any comments are welcome. If you do not agree with me, I guess, I can simply work around this by passing newSViv(0) as a third argument. I'm currently not sure though, if modules which do not provide any version information are still handled correctly then. Thanks for the pointer. Cheers, Sebastian PS: collectd builds fine with perl 5.10 if I work around this issue. -- Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/ Those who would give up Essential Liberty to purchase a little Temporary Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin
signature.asc
Description: Digital signature