I have compiled DBD-ODBC-1.13 on RedHat Enterprise Linux 4.

Failed 2/9 test scripts, 77.78% okay. 6/137 subtests failed, 95.62% okay.
Good enough for me so I installed it.

I am using unixODBC-2.2.9-. connecting with isql is fine:
      $isql mysql1 root

Yet a simple perl script:
   #!/usr/bin/perl -w

   use strict;
    use DBD::ODBC;
    DBI->trace( 1000 );
    my( $dbh ) = DBI->connect( "dbi:ODBC:mysql1", "root" );

creates a Segmentation fault...

$ ./odbc.pl 
    DBI 1.40-ithread dispatch trace level set to 1000 (in pid 9488)
    -> DBI->connect(dbi:ODBC:mysql1, root, ****)
    -> DBI->install_driver(ODBC) for linux perl=5.008005 pid=9488
ruid=501 euid=501
       install_driver: DBD::ODBC version 1.13 loaded from
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/DBD/ODBC.pm
    New DBI::dr (for DBD::ODBC::dr, parent=, id=)
    dbih_setup_handle(DBI::dr=HASH(0x8d95808)=>DBI::dr=HASH(0x8df7e78),
DBD::ODBC::dr, 0, Null!)
    dbih_make_com(Null!, 0, DBD::ODBC::dr, 92, 0) thr#8c99008
    dbih_setup_attrib(DBI::dr=HASH(0x8df7e78), Err, Null!)
SCALAR(0x8cb4a14) (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x8df7e78), State, Null!)
SCALAR(0x8cba338) (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x8df7e78), Errstr, Null!)
SCALAR(0x8cba314) (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x8df7e78), TraceLevel, Null!) 0
(already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x8df7e78), FetchHashKeyName,
Null!) 'NAME' (already defined)
    <- install_driver= DBI::dr=HASH(0x8d95808)
    >> default_user DISPATCH (DBI::dr=HASH(0x8d95808) rc1/3 @4 g1 ima1
pid#9488) at /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm
line 572 via ./odbc2.pl line 9
    -> default_user in DBD::_::dr for DBD::ODBC::dr
(DBI::dr=HASH(0x8d95808)~0x8df7e78 'root' undef HASH(0x8d610a0))
thr#8c99008
    <- default_user= ( 'root' undef ) [2 items] at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
572 via ./odbc2.pl line 9
    >> connect     DISPATCH (DBI::dr=HASH(0x8d95808) rc2/3 @5 g0 ima1
pid#9488) at /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm
line 590
    -> connect for DBD::ODBC::dr (DBI::dr=HASH(0x8d95808)~0x8df7e78
'mysql1' 'root' **** HASH(0x8df9084)) thr#8c99008
    New DBI::db (for DBD::ODBC::db, parent=DBI::dr=HASH(0x8df7e78), id=)
    dbih_setup_handle(DBI::db=HASH(0x8df7e3c)=>DBI::db=HASH(0x8df90d8),
DBD::ODBC::db, 8d92f38, Null!)
    dbih_make_com(DBI::dr=HASH(0x8df7e78), 8df8460, DBD::ODBC::db,
224, 0) thr#8c99008
    dbih_setup_attrib(DBI::db=HASH(0x8df90d8), Err,
DBI::dr=HASH(0x8df7e78)) SCALAR(0x8d99280) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x8df90d8), State,
DBI::dr=HASH(0x8df7e78)) SCALAR(0x8d992e0) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x8df90d8), Errstr,
DBI::dr=HASH(0x8df7e78)) SCALAR(0x8d992b0) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x8df90d8), TraceLevel,
DBI::dr=HASH(0x8df7e78)) 0 (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x8df90d8), FetchHashKeyName,
DBI::dr=HASH(0x8df7e78)) 'NAME' (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x8df90d8), HandleError,
DBI::dr=HASH(0x8df7e78)) undef (not defined)
Driver connect 'mysql1', 'root', 'xxxx'
SQLDriverConnect failed:
SQLConnect 'mysql1', 'root'
Connected to: MySQL
       SQLGetFunctions - SQL_MoreResults supported: 1
    <- connect= DBI::db=HASH(0x8df7e3c) at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
590
    >> STORE       DISPATCH (DBI::db=HASH(0x8df90d8) rc2/1 @3 g0
ima41c pid#9488) at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
633
    -> STORE for DBD::ODBC::db (DBI::db=HASH(0x8df90d8)~INNER
'PrintError' 1) thr#8c99008
DBD::ODBC unsupported attribute passed (PrintError)
    STORE DBI::db=HASH(0x8df90d8) 'PrintError' => 1
    <- STORE= 1 at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
633
    >> STORE       DISPATCH (DBI::db=HASH(0x8df90d8) rc2/1 @3 g0
ima41c pid#9488) at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
633
    -> STORE for DBD::ODBC::db (DBI::db=HASH(0x8df90d8)~INNER
'AutoCommit' 1) thr#8c99008
    <- STORE= 1 at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
633
    >> STORE       DISPATCH (DBI::db=HASH(0x8df90d8) rc2/1 @3 g0
ima41c pid#9488) at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
636
    -> STORE for DBD::ODBC::db (DBI::db=HASH(0x8df90d8)~INNER
'Username' 'root') thr#8c99008
DBD::ODBC unsupported attribute passed (Username)
    STORE DBI::db=HASH(0x8df90d8) 'Username' => 'root'
    <- STORE= 1 at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
636
    <- connect= DBI::db=HASH(0x8df7e3c)
    >> STORE       DISPATCH (DBI::db=HASH(0x8df90d8) rc2/1 @3 g0
ima41c pid#9488) at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
650 via ./odbc2.pl line 9
    -> STORE for DBD::ODBC::db (DBI::db=HASH(0x8df90d8)~INNER
'dbi_connect_closure' CODE(0x8df7d88)) thr#8c99008
DBD::ODBC unsupported attribute passed (dbi_connect_closure)
    STORE DBI::db=HASH(0x8df90d8) 'dbi_connect_closure' => CODE(0x8df7d88)
    <- STORE= 1 at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBI.pm line
650 via ./odbc2.pl line 9
    >> DESTROY     DISPATCH (DBI::db=HASH(0x8df7e3c) rc1/1 @1 g0 ima4 pid#9488)
    <> DESTROY ignored for outer handle DBI::db=HASH(0x8df7e3c) (inner
DBI::db=HASH(0x8df90d8))
    >> DESTROY     DISPATCH (DBI::db=HASH(0x8df90d8) rc1/1 @1 g0 ima4 pid#9488)
    -> DESTROY for DBD::ODBC::db (DBI::db=HASH(0x8df90d8)~INNER) thr#8c99008
Segmentation fault


What have I done wrong ?

-Steve More

Reply via email to