On Thu, Feb 14, 2008 at 1:30 AM, Michael Peppler <[EMAIL PROTECTED]> wrote:
>
> Matthew Persico wrote:
> > I am building DBD::Sybase on perl 5.10, threaded, Solaris 8 (5.8). All
> > is well except that the xblk tests fail.
> >
> > When I google
> >
> > DBD::Sybase xblk
> >
> > I get lots of hits for people complaining about failures in this test
> > as far back as 1.04, but no solution.
> >
> > So:
> >
> > 1) What can I do to fix the test (and get the solution into Google for
> > future reference :-) )?
> > 2) Are there any parameters I can throw to skip the test during 'make
> > test'? I have an automated build process and I'd like to not muck it
> > up with any manual intervention. Yes, I even rigged the build to
> > answer the prompts in perl Makefile.PL automajically.
> >
>
> Could you tell me what errors you are seeing?
> Most of the xblk errors on Google are related to FreeTDS issues...
See the attached. What else can I send or do for diagnosis? This is
perl 5.10, Open Client 12.0, DBI 1.602, so maybe there are issues with
the mix of new perl and old Sybase.
>
> Michael
> --
> Michael Peppler - Peppler Consulting SaRL
> [EMAIL PROTECTED] - http://www.peppler.org
> Sybase DBA/Developer - TeamSybase: http://www.teamsybase.com
> Sybase on Linux FAQ - http://www.peppler.org/FAQ/linux.html
>
--
Matthew O. Persico
====
==== DBD-Sybase-1.08
====
perl Makefile.PL
PREFIX=/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/src/CPAN/../..
Sybase OpenClient 12.0 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]:
Running in threaded mode - looking for _r libraries...
***NOTE***
There is an incompatibility between perl (5.8.x) built in threaded mode and
Sybase's threaded libraries, which means that signals delivered to the perl
process result in a segment violation.
I suggest building DBD::Sybase with the normal libraries in this case to get
reasonable behavior for signal handling.
Use the threaded (lib..._r) libraries [N]:
Found -lct_r for -lct
Found -lcs_r for -lcs
Found -ltcl_r for -ltcl
Found -lcomn_r for -lcomn
Found -lintl_r for -lintl
Found -lblk_r for -lblk
BLK api available - found: blk_r
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 SYDAST01 (default:
undef):
* Writing login information, including password, to file PWD.
Multiple copies of Driver.xst found in:
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/src/CPAN/../../lib/site_perl/5.10.0/sun4-solaris-thread-multi/auto/DBI/
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/site_perl/5.10.0/sun4-solaris-thread-multi/auto/DBI/
at Makefile.PL line 64
Using DBI 1.602 (for perl 5.010000 on sun4-solaris-thread-multi) installed in
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/src/CPAN/../../lib/site_perl/5.10.0/sun4-solaris-thread-multi/auto/DBI/
Writing Makefile for DBD::Sybase
make
cc -c -I/opt/sybase/default/OCS/include -DNO_CHAINED_TRAN=1
-I/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/src/CPAN/../../lib/site_perl/5.10.0/sun4-solaris-thread-multi/auto/DBI
-D_REENTRANT -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-O -DVERSION=\"1.08\" -DXS_VERSION=\"1.08\" -KPIC
"-I/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/sun4-solaris-thread-multi/CORE"
Sybase.c
"Sybase.xs", line 83: warning: implicit function declaration: syb_ping
"Sybase.xs", line 95: warning: implicit function declaration: syb_st_cancel
cc -c -I/opt/sybase/default/OCS/include -DNO_CHAINED_TRAN=1
-I/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/src/CPAN/../../lib/site_perl/5.10.0/sun4-solaris-thread-multi/auto/DBI
-D_REENTRANT -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-O -DVERSION=\"1.08\" -DXS_VERSION=\"1.08\" -KPIC
"-I/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/sun4-solaris-thread-multi/CORE"
dbdimp.c
"dbdimp.c", line 4695: warning: statement not reached
Running Mkbootstrap for DBD::Sybase ()
chmod 644 Sybase.bs
rm -f blib/arch/auto/DBD/Sybase/Sybase.so
LD_RUN_PATH="/opt/sybase/default/OCS/lib" cc -L/opt/sybase/default/OCS/lib -G
-L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro_11/prod/lib/v8plus
-L/opt/SUNWspro_11/prod/lib -L/lib -L/usr/local/lib Sybase.o dbdimp.o -o
blib/arch/auto/DBD/Sybase/Sybase.so \
-L/opt/sybase/default/OCS/lib -lct_r -lcs_r -ltcl_r -lcomn_r -lintl_r
-lblk_r -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
make test
PERL_DL_NONLAZY=1
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/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
2/34 skipped: various reasons
t/multi_sth.....ok
t/nsql..........ok
t/place.........ok
t/thread........ok
t/xblk..........dubious
Test returned status 0 (wstat 139, 0x8b)
DIED. FAILED tests 18-62
Failed 45/62 tests, 27.42% okay
t/xblob.........ok
Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/xblk.t 0 139 62 90 18-62
2 subtests skipped.
Failed 1/12 test scripts. 45/237 subtests failed.
Files=12, Tests=237, 12 wallclock secs ( 5.09 cusr + 2.05 csys = 7.14 CPU)
Failed 1/12 test programs. 45/237 subtests failed.
*** Error code 255
make: Fatal error: Command failed for target `test_dynamic'
Failed. status: 256 (exit 1, signal 0, core 0)
Skipping further steps.
====
==== sybperl-2.18
====
perl Makefile.PL
PREFIX=/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/src/CPAN/../..
/opt/sybase/default
Sybase OpenClient 12.0 found.
The sybperl modules 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 SYDAST01 (default:
undef):
* Writing login information, including password, to file PWD.
Checking if your kit is complete...
Looks good
/opt/sybase/default
Sybase OpenClient 12.0 found.
Writing Makefile for Sybase::BCP
Writing Makefile for Sybase::BLK
/opt/sybase/default
Sybase OpenClient 12.0 found.
Running in threaded mode - looking for _r libraries...
Found -lct_r for -lct
Found -lcs_r for -lcs
Found -ltcl_r for -ltcl
Found -lcomn_r for -lcomn
Found -lintl_r for -lintl
Found -lblk_r for -lblk
Writing Makefile for Sybase::CTlib
/opt/sybase/default
Sybase OpenClient 12.0 found.
Writing Makefile for Sybase::DBlib
/opt/sybase/default
Sybase OpenClient 12.0 found.
Writing Makefile for Sybase::Sybperl
Writing Makefile for Sybase
make
cp lib/ctutil.pl blib/lib/ctutil.pl
cp lib/sql.pl blib/lib/sql.pl
cp lib/sybutil.pl blib/lib/sybutil.pl
cp lib/sybperl.pl blib/lib/sybperl.pl
cp BCP.pm ../blib/lib/Sybase/BCP.pm
Manifying ../blib/man3/Sybase::BCP.3
cp BLK.pm ../blib/lib/Sybase/BLK.pm
Manifying ../blib/man3/Sybase::BLK.3
cp CTlib.pm ../blib/lib/Sybase/CTlib.pm
AutoSplitting ../blib/lib/Sybase/CTlib.pm (../blib/lib/auto/Sybase/CTlib)
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/bin/perl
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/ExtUtils/xsubpp
-prototypes -typemap
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/ExtUtils/typemap
CTlib.xs > CTlib.xsc && mv CTlib.xsc CTlib.c
cc -c -I/opt/sybase/default/OCS/include -D_REENTRANT -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"2.18\"
-DXS_VERSION=\"2.18\" -KPIC
"-I/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/sun4-solaris-thread-multi/CORE"
-DCTLIBVS=100 -DSYBPLVER='"2.18"' -DDO_TIE CTlib.c
Running Mkbootstrap for Sybase::CTlib ()
chmod 644 CTlib.bs
rm -f ../blib/arch/auto/Sybase/CTlib/CTlib.so
LD_RUN_PATH="/opt/sybase/default/OCS/lib" cc -L/opt/sybase/default/OCS/lib -G
-L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro_11/prod/lib/v8plus
-L/opt/SUNWspro_11/prod/lib -L/lib -L/usr/local/lib CTlib.o -o
../blib/arch/auto/Sybase/CTlib/CTlib.so \
-L/opt/sybase/default/OCS/lib -lct_r -lcs_r -ltcl_r -lcomn_r -lintl_r
-lblk_r -lm \
chmod 755 ../blib/arch/auto/Sybase/CTlib/CTlib.so
cp CTlib.bs ../blib/arch/auto/Sybase/CTlib/CTlib.bs
chmod 644 ../blib/arch/auto/Sybase/CTlib/CTlib.bs
Manifying ../blib/man3/Sybase::CTlib.3
cp DBlib.pm ../blib/lib/Sybase/DBlib.pm
AutoSplitting ../blib/lib/Sybase/DBlib.pm (../blib/lib/auto/Sybase/DBlib)
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/bin/perl
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/ExtUtils/xsubpp
-prototypes -typemap
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/ExtUtils/typemap
DBlib.xs > DBlib.xsc && mv DBlib.xsc DBlib.c
cc -c -I/opt/sybase/default/OCS/include -D_REENTRANT -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"2.18\"
-DXS_VERSION=\"2.18\" -KPIC
"-I/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/lib/5.10.0/sun4-solaris-thread-multi/CORE"
-DDBLIBVS=1000 -DSYBPLVER='"2.18"' -DDO_TIE DBlib.c
"DBlib.xs", line 4439: warning: argument #3 is incompatible with prototype:
prototype: pointer to unsigned char :
"/opt/sybase/default/OCS/include/sybdb.h", line 3287
argument : pointer to char
Running Mkbootstrap for Sybase::DBlib ()
chmod 644 DBlib.bs
rm -f ../blib/arch/auto/Sybase/DBlib/DBlib.so
LD_RUN_PATH="/opt/sybase/default/OCS/lib" cc -L/opt/sybase/default/OCS/lib -G
-L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro_11/prod/lib/v8plus
-L/opt/SUNWspro_11/prod/lib -L/lib -L/usr/local/lib DBlib.o -o
../blib/arch/auto/Sybase/DBlib/DBlib.so \
-L/opt/sybase/default/OCS/lib -lsybdb -lm \
chmod 755 ../blib/arch/auto/Sybase/DBlib/DBlib.so
cp DBlib.bs ../blib/arch/auto/Sybase/DBlib/DBlib.bs
chmod 644 ../blib/arch/auto/Sybase/DBlib/DBlib.bs
Manifying ../blib/man3/Sybase::DBlib.3
cp Sybperl.pm ../blib/lib/Sybase/Sybperl.pm
AutoSplitting ../blib/lib/Sybase/Sybperl.pm (../blib/lib/auto/Sybase/Sybperl)
Manifying ../blib/man3/Sybase::Sybperl.3
Manifying blib/man3/sybperl.3
make test
PERL_DL_NONLAZY=1
/home/persicom/nylux-portiadev/cvs_sandbox/opt/perl.v5.10.0.build/bin/perl
"-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/1_db_dblib...........ok
t/1_db_money...........ok
t/2_ct_ctlib...........ok
t/2_ct_cursor..........ok
t/2_ct_nsql............ok
t/2_ct_prepare.........ok
t/2_ct_xblk............dubious
Test returned status 0 (wstat 139, 0x8b)
t/3_bcp................ok
t/4_blk................ok
t/5_sybperl............ok
t/5_sybperl_dbmoney....ok
Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/2_ct_xblk.t 0 139 ?? ?? ??
Failed 1/11 test scripts. 0/194 subtests failed.
Files=11, Tests=194, 7 wallclock secs ( 1.74 cusr + 1.03 csys = 2.77 CPU)
Failed 1/11 test programs. 0/194 subtests failed.
*** Error code 255
make: Fatal error: Command failed for target `test_dynamic'
Failed. status: 256 (exit 1, signal 0, core 0)
Skipping further steps.