Here is the info from my bt:
(gdb) run -MDBI -e 'my $dbh = DBI-connect(dbi:ODBC:mysql1, root );'
Starting program: /usr/bin/perl -MDBI -e 'my $dbh =
DBI-connect(dbi:ODBC:mysql1, root );'
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging
2. Run a simple Perl script connecting under gdb to see where it fails:
gdb /usr/bin/perl (or wherever your Perl is)
run -MDBI -e 'my $dbh = DBI-connect(dbi:ODBC:xxx, user, pass);'
When it crashes enter bt for a back trace.
Here is a backtrace using a different driver:
(gdb) run
Stephen,
As you will have noticed it falls over in my_SQLFreeConnect off SQLFreeHandle.
The interesting thing is I can't see unixODBC - I thought you were using
unixODBC?
Your trace (and the subsequent one don't seem to have unixODBC at all.
I'd expect to see unixODBC between DBD::ODBC and the
The interesting thing is I can't see unixODBC - I thought you were using
unixODBC?
I think I am using it. ldd shows ODBC.so is linked to it:
$ ldd
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/ODBC/ODBC.so
libodbc.so.1 = /usr/lib/libodbc.so.1 (0x00be6000)
You can fix it for yourself by removing the RTLD_GROUP from unixODBC and
rebuilding it. See the FAQ I pointed you at.
Martin
--
Martin J. Evans
Easysoft Ltd, UK
Development
On 19-May-2005 Stephen More wrote:
The interesting thing is I can't see unixODBC - I thought you were using
unixODBC?
Stephen,
The problem as you described it certainly looked like the issue with code
compiled with -pthread and without but given your results perhaps not. At
Easysoft, we see this issue of mixed apps/drivers/unixODBC fairly requently on
Linux but DontDLClose nearly always sorts it out.
There are
Search this list for similar issue I previously replied to.
You are probably getting this because you have mixed Perl, unixODBC, MySQL
where some were built with -pthread and some were not. What seems to happen is
that some internal structure used by dlopen/dlclose is different when built
You are probably getting this because you have mixed Perl, unixODBC, MySQL
where some were built with -pthread and some were not.
Can this be proven with ldd ? It looks like all are linked with libpthread.so.0
$ ldd /usr/bin/perl | grep -i pthread
libpthread.so.0 =
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: