On 13 July 2012 01:33, Fred Moyer <fred@redhotpenguin.com> wrote:
> mod_perl.c:265: error: ‘Nullav’ undeclared (first use in this function)

Hmm, found this in

Uses of Nullav, Nullcv, Nullhv, Nullop, Nullsv etc have been replaced
by NULL in the core code, and non-dual-life modules, as NULL is
clearer to those unfamiliar with the core code.

Maybe we need to replace these instances? Torsten/Gozer/SteveHay?? I'm
not sure if those are backwards compatible with 5.14 at first glace.

Not sure what your reference to 5.14 there is? That's the 5.10.1 perldelta which you've quoted, so 5.14 and 5.16 should be no different in this regard.

Various perl changes removed Nullsv, Nullav etc from the core (e.g. see 24792b8dab and 3ae1b22641), but left definitions of them for when PERL_CORE is not defined, for backwards compatibility with all those CPAN modules out there which use them.

The problem here is what Nick hinted at in his comment for 24792b8dab, namely that "obviously" nobody outside of the perl core is defining PERL_CORE... It's a rather too common and surely always wrong thing to do that, and we're guilty of it ourselves: modperl_perl_includes.h defines PERL_CORE as some kind of optimization, but only when USE_ITHREADS is defined and USE_LARGE_FILES is not. That's not a common configuration, hence we haven't seen this happen before, but the last line which I've quoted below does indeed undefine large file support, hence PERL_CORE gets defined and the definitions of Nullsv, Nullav etc are not provided.

I replaced all uses of Nullxx with (XX*)NULL in my modules some time ago in the belief that if it was good for the core then it was good for me, so I will do likewise for mod_perl unless anyone objects (or beats me to it).

That will fix the OP's problem, but I think we should also remove the "optimization" involving PERL_CORE too. I suspect most people nowadays have large file support enabled and so aren't getting the "optimization" anyway, but we should never be defining PERL_CORE in mod_perl regardless -- that's just asking for trouble like this.


On Fri, Jun 22, 2012 at 12:50 PM, David Shultz <dxs@rentrakmail.com> wrote:
> Apache2 src: 2.2.22
> mod_per src: 2.0.7
> Installed Perl 5.16.0 hand built as:
> CFLAGS='-m64 -mtune=nocona' ./Configure -A ccflags=-fPIC \
> -Dprefix=/usr/local/stow/perl-5.16.0 -Dusethreads \
> -Accflags=-DPERL_REENTRANT_MAXSIZE=65536 \
> -Uuselargefiles -Dusemorebits