Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version? - Mailing list pgsql-hackers

From Noah Misch
Subject Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version?
Date
Msg-id 20170730154814.GA2636941@rfd.leadboat.com
Whole thread Raw
In response to Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version?
Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version?
List pgsql-hackers
On Sun, Jul 30, 2017 at 01:21:28AM -0400, Tom Lane wrote:
> I wrote:
> > So the question is, does anyone care?  I wouldn't except that our
> > documentation appears to claim that we work with Perl "5.8 or later".
> > And the lack of field complaints suggests strongly that nobody else
> > cares.  So I'm inclined to think we just need to be more specific
> > about the minimum Perl version --- but what exactly?
> 
> I've done some more research on this.  It seems to me there are four
> distinct components to any claim about whether we work with a particular
> Perl version:
> 
> 1. Can it run the build-related Perl scripts needed to build PG from
> a bare git checkout, on non-Windows platforms?
> 2. Can it run our MSVC build scripts?
> 3. Does pl/perl compile (and pass its regression tests) against it?
> 4. Can it run our TAP tests?

> 5.8.3 does appear to succeed at points 1,3,4.  Now, to get through
> the TAP tests you need to install IPC::Run, and you also need to
> update Test::More because the version shipped with 5.8.3 is too old.
> But at least the failures that you get from lacking these are pretty
> clear.

> Anyway, pending some news about compatibility of the MSVC scripts,
> I think we ought to adjust our docs to state that 5.8.3 is the
> minimum supported Perl version.

Works for me.  I wouldn't wait for testing of the MSVC scripts.  Strawberry
Perl started with 5.8.8.  ActivePerl is far older, but it distributes old
versions to subscription holders only.  Besides, the main advantage of
old-version support is letting folks use a packaged/preinstalled binary, and
that doesn't apply on Windows.

> Also, I got seriously confused at one point during these tests because,
> while our configure script carefully sets PERL to an absolute path name,
> it's content to set PROVE to "prove", paying no attention to whether
> that version of "prove" matches "perl".  Is it really okay to run the
> TAP tests with a different perl version than we selected for other
> purposes?

Typically yes, though one can construct exceptions.

> I think it'd be a good idea to insist that "prove" be in
> the same directory we found "perl" in.

Nah; on my machines, I use /usr/bin/perl and ~/sw/cpan/bin/prove.  The latter
is built against the former, so there's no particular hazard.

nm



pgsql-hackers by date:

Previous
From: "Tels"
Date:
Subject: Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version?
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] PL_stashcache, or, what's our minimum Perl version?