| Newsgroups |
gmane.comp.lang.perl.modules.dbi.sybase |
| Message-ID |
<[email protected]> |
Hi, I'm trying to compile the DBD 1.05 with perl 5.8.6 and sybase 12.5 on
solaris 8. There is a small problem during the perl Makefile.PL but my
primary concern is during the make test. It generates a core during the
test of xblk and fails that series of tests. I guess the first thing to ask
would be, is this a show stopper? If so, how do I fix it? :)
Thanks for any help.
Gregg
Here are the details:
# /usr/local/bin/perl Makefile.PL PREFIX=/localspace/usr/local
Sybase OpenClient 12.5 found.
By default DBD::Sybase 1.05 and later use the 'CHAINED' mode (where available)
when 'AutoCommit' is turned off. Versions 1.04 and older instead managed
the transactions explicitly with a 'BEGIN TRAN' before the first DML
statement. Using the 'CHAINED' mode is preferable as it is the way that
Sybase implements AutoCommit handling for both its ODBC and JDBC drivers.
Use 'CHAINED' mode by default (Y/N) [Y]:
The DBD::Sybase module need access to a Sybase server to run the tests.
To clear an entry please enter 'undef'
Sybase server to use (default: SYBASE):
User ID to log in to Sybase (default: sa):
Password (default: undef): ******
Sybase database to use on SYB125 (default: undef): test
* Writing login information, including password, to file PWD.
Checking if your kit is complete...
Looks good
Using DBI 1.46 (for perl 5.008006 on sun4-solaris) installed in /usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/auto/DBI/
Writing Makefile for DBD::Sybase
# make
cp dbd-sybase.pod blib/lib/DBD/dbd-sybase.pod
cp Sybase.pm blib/lib/DBD/Sybase.pm
/usr/local/bin/perl -p -e "s/~DRIVER~/Sybase/g" /usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/auto/DBI//Driver.xst > Sybase.xsi
/usr/local/bin/perl /usr/local/lib/perl5/5.8.6/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.6/ExtUtils/typemap Sybase.xs > Sybase.xsc && mv Sybase.xsc Sybase.c
/opt/SUNWspro/bin/cc -c -I/opt/sybase/OCS-12_5/include -I/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/auto/DBI -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"1.05\" -DXS_VERSION=\"1.05\" -KPIC "-I/usr/local/lib/perl5/5.8.6/sun4-solaris/CORE" Sybase.c
/opt/SUNWspro/bin/cc -c -I/opt/sybase/OCS-12_5/include -I/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/auto/DBI -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"1.05\" -DXS_VERSION=\"1.05\" -KPIC "-I/usr/local/lib/perl5/5.8.6/sun4-solaris/CORE" dbdimp.c
"dbdimp.c", line 4473: warning: statement not reached
"dbdimp.c", line 4727: warning: argument #2 is incompatible with prototype:
prototype: pointer to int : "dbdimp.c", line 4585
argument : pointer to unsigned int
Running Mkbootstrap for DBD::Sybase ()
chmod 644 Sybase.bs
rm -f blib/arch/auto/DBD/Sybase/Sybase.so
LD_RUN_PATH="/opt/sybase/OCS-12_5/lib" /opt/SUNWspro/bin/cc -L/opt/sybase/OCS-12_5/lib -G -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/WS6U2/lib -L/usr/local/lib Sybase.o dbdimp.o -o blib/arch/auto/DBD/Sybase/Sybase.so -L/opt/sybase/OCS-12_5/lib -lct -lcs -ltcl -lcomn -lintl -lblk -lskrb -ldl -lm
chmod 755 blib/arch/auto/DBD/Sybase/Sybase.so
cp Sybase.bs blib/arch/auto/DBD/Sybase/Sybase.bs
chmod 644 blib/arch/auto/DBD/Sybase/Sybase.bs
Manifying blib/man3/DBD::Sybase.3
Now the make test:
# make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/autocommit....ok
t/base..........ok
t/exec..........ok
t/fail..........ok
t/login.........ok
t/main..........ok
t/multi_sth.....ok
t/nsql..........ok
t/place.........ok
t/thread........skipped
all skipped: this perl 5.008006 not configured to support iThreads
t/xblk..........dubious
Test returned status 0 (wstat 139, 0x8b)
test program seems to have generated a core
DIED. FAILED tests 18-62
Failed 45/62 tests, 27.42% okay
t/xblob.........ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/xblk.t 0 139 62 90 145.16% 18-62
1 test skipped.
Failed 1/12 test scripts, 91.67% okay. 45/208 subtests failed, 78.37% okay.
make: *** [test_dynamic] Error 29
So I see that a core is created and look inside... and I see a command which I run
manually and get this result:
I then run a verbose test:
make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/autocommit....1..5
ok 1 - use DBI;
ok 2 - use DBD::Sybase;
ok 3 - Connect
ok 4 - rollback
a string 1
another string 2
foodiboo 3
...
t/xblk..........1..62
ok 1 - use DBI;
ok 2 - use DBD::Sybase;
ok 3 - Connect
ok 4 - Create table
ok 5 - Prepare \#1
ok 6 - Send row 1 - test 1
cslib_cb: 2 4 1 36 cs_convert: cslib user api layer: common library error: The result is truncated because the conversion/operation resulted in overflow.
cslib_cb: User Message: cs_convert failed: column 4: (_convert(123.456, 16))
DBD::Sybase::st execute failed: cs_convert: cslib user api layer: common library error: The result is truncated because the conversion/operation resulted in overflow. at t/xblk.t line 83.
ok 7 - Send row 2 - test 1
ok 8 - Send row 3 - test 1
ok 9 - Commit test 1
ok 10 - Rows test 1
ok 11 - prepare \#2
cslib_cb: 2 4 1 20 cs_convert: cslib user api layer: common library error: The conversion/operation resulted in overflow.
cslib_cb: User Message: cs_convert failed: column 5: (_convert(feb 29 2001 11:00, 12))
DBD::Sybase::st execute failed: cs_convert: cslib user api layer: common library error: The conversion/operation resulted in overflow. at t/xblk.t line 119.
ok 12 - Execute row 1, test 2
cslib_cb: 2 4 1 20 cs_convert: cslib user api layer: common library error: The conversion/operation resulted in overflow.
cslib_cb: User Message: cs_convert failed: column 3: (_convert(123456789123456, 8))
DBD::Sybase::st execute failed: cs_convert: cslib user api layer: common library error: The conversion/operation resulted in overflow. at t/xblk.t line 119.
ok 13 - Execute row 2, test 2
cslib_cb: 2 4 1 36 cs_convert: cslib user api layer: common library error: The result is truncated because the conversion/operation resulted in overflow.
cslib_cb: User Message: cs_convert failed: column 4: (_convert(123456.78, 16))
DBD::Sybase::st execute warning: cs_convert: cslib user api layer: common library error: The result is truncated because the conversion/operation resulted in overflow.OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (0) NUMBER = (0)
Server SYB125, database
Message String: blk_rowxfer(): blk layer: internal BLK-Library error: Failed in conversion routine - condition overflow. col = 4 row = 1.
ok 14 - Execute row 3, test 2
cslib_cb: 2 4 1 20 cs_convert: cslib user api layer: common library error: The conversion/operation resulted in overflow.
cslib_cb: User Message: cs_convert failed: column 8: (_convert(34343434343434343434.23, 15))
DBD::Sybase::st execute failed: cs_convert: cslib user api layer: common library error: The conversion/operation resulted in overflow. at t/xblk.t line 119.
ok 15 - Execute row 4, test 2
ok 16 - Commit test 2
ok 17 - Rows, test 2
dubious
Test returned status 0 (wstat 139, 0x8b)
test program seems to have generated a core
DIED. FAILED tests 18-62
Failed 45/62 tests, 27.42% okay