One of the DBD::Sybase users is reporting that DBD::Sybase segfaults on
startup when built with DBI 1.38, perl 5.8.0 with ithreads and 64 bit
integers (but NOT 64 bit everything).
DBD::Sybase fails the first time it tries to access DBIS:
In dbd_init() we have:
if(DBIS->debug >= 2) {
char *p = "";
if((sv = perl_get_sv("DBD::Sybase::VERSION", FALSE)))
p = SvPV(sv, lna);
and it segfaults on the if() statement.
If I'm not mistaken, this comes from the following:
# define DBIS (*(dbistate_t**)&SvIVX(DBISTATE_ADDRSV))
which is used if MULTIPLICITY is defined (which it is when ithreads is
enabled).
SvIVX will return a 64 bit entity in this situation, but pointers are 32
bit.
I have a feeling that there isn't any direct work-around, other than not
using 64 bit integers?
Michael
--
Michael Peppler Data Migrations, Inc.
[EMAIL PROTECTED] http://www.mbay.net/~mpeppler
Sybase T-SQL/OpenClient/OpenServer/C/Perl developer available for short or
long term contract positions - http://www.mbay.net/~mpeppler/resume.html