[DBD-SQLite] Re: Perl 5.13.3+ MAY BREAK COMPILED DRIVERS - Please
test DBI 1.613_71!
Darren Duncan
darren at darrenduncan.net
Fri Aug 27 22:36:36 GMT 2010
Tim Bunce wrote [to dbi-dev]:
> Short version:
>
> Please download build test *and install* DBI 1.613_71, then download build
> and test any compiled drivers you use to check they work with DBI 1.613_71.
>
> Let us know about any failures *and* successes.
>
> Also grep the source code of the driver to see if it defines
> PERL_POLUTE. If it does, let us know.
>
> Long version:
>
> Perl 5.13.3+ removes support for PERL_POLUTE. PERL_POLUTE enables use of
> old-style variables names, without the PL_ prefix (e.g. sv_undef instead
> of PL_sv_undef).
>
> The DBI has, for many years, enabled PERL_POLUTE mode in DBIXS.h, so
> it's likely that compiled drivers are use some old-style variables names.
> These drivers won't work with Perl 5.13.3+.
>
> To aid testing for this, the DBI 1.613_71 doesn't enabled PERL_POLUTE mode.
>
> So please test compiled drivers against DBI 1.613_71.
I didn't try to build them with DBI 1.613_71, but I did a grep search for
PERL_POLLUTE in the latest CPAN versions of DBD-SQLite and DBD-Pg.
* DBD-SQLite-1.30_05 *does* #define PERL_POLLUTE, once in SQLiteXS.h
* DBD-Pg-2.17.1 does not have any PERL_POLLUTE
Obviously, then, DBD::SQLite will need an update to fix this problem, though it
sounds like the fix should be some relatively simple symbol renaming.
I could probably do this, but not until at least a few days from now when I have
more time to do that *and* test it.
-- Darren Duncan
More information about the DBD-SQLite
mailing list