Re: Perl 5.13.3+ MAY BREAK COMPILED DRIVERS - Please test DBI 1.613_71!
Darren Duncan <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbd-sqlite,gmane.comp.lang.perl.modules.dbi.sybase.devel |
|---|---|
| Message-ID | <[email protected]> |
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