I am trying to build the DBD::Sybase module for PERL 5.24.1 on Solaris 11 and Sybase Open Client 16.0 (ASE 16.0 is not installed on the host). The make test is failing. I found that the expected version string is not present in the version 16 libsybct modules so I hard-coded the version at line 366 of Makefile.PL but that has not resolved the issue. I would greatly appreciate any suggestions for fixing this. Below is the environment and the output of $PERL Makefile.PL, make, and make test. Thanks, in advance, for your time.
sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ ls -l /opt/sybase/O* lrwxrwxrwx 1 sybase sybase 19 May 30 11:10 /opt/sybase/OC -> /opt/sybase/OC-16.0 lrwxrwxrwx 1 sybase sybase 19 May 30 11:10 /opt/sybase/OCS -> /opt/sybase/OC-16.0 sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ echo $SYBASE /opt/sybase/OC sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ echo $SYBASE_OCS OCS sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ echo $PATH /opt/boksm/bin:/bin:/sbin:/usr/ccs/bin:/usr/bin:/usr/sbin:/usr/ucb:/etc:/usr/local/bin:/opt/sybase/OC/OCS/bin:/opt/dba/sybadmin/tools:/usr/local/bin:/usr/sfw/bin:/opt/dba/dbaadmin/util:/bin sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ echo $LD_LIBRARY_PATH /opt/dba/perl-5.24.1:/opt/sybase/OC/OCS/lib:/opt/sybase/OC/OCS/lib3p:/opt/sybase/OC/OCS/lib3p64:/usr/lib:/usr/lib/lwp:/usr/lib:/usr/local/lib sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ echo $LD_LIBRARY_PATH_64 /opt/dba/perl-5.24.1:/opt/sybase/OC/OCS/lib:/opt/sybase/OC/OCS/lib3p64:/usr/bin sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ echo $PERL /opt/dba/perl-5.24.1/bin/perl sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ $PERL Makefile.PL Sybase OpenClient 16.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 or later) 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]: OK - I'll use the normal libs Running in 64bit mode - looking for '64' libraries... Found -lsybct64 for -lsybct Found -lsybcs64 for -lsybcs Found -lsybtcl64 for -lsybtcl Found -lsybcomn64 for -lsybcomn Found -lsybintl64 for -lsybintl Found -lsybblk64 for -lsybblk BLK api available - found: sybblk64 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): dbat5 User ID to log in to Sybase (default: sa): n205306 Password (default: undef): abcdef Sybase database to use on dbat5 (default: undef): master * Writing login information, including password, to file PWD. Using DBI 1.636 (for perl 5.024001 on sun4-solaris-thread-multi-64) installed in /opt/dba/perl-5.24.1/lib/site_perl/5.24.1/sun4-solaris-thread-multi-64/auto/DBI/ Generating a Unix-style Makefile Writing Makefile for DBD::Sybase Writing MYMETA.yml and MYMETA.json sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ make Skip blib/lib/DBD/Sybase.pm (unchanged) Skip blib/lib/DBD/dbd-sybase.pod (unchanged) Running Mkbootstrap for DBD::Sybase () chmod 644 "Sybase.bs" gcc -c -I/opt/sybase/OC/OCS/include -DSYB_LP64 -I/opt/dba/perl-5.24.1/lib/site_perl/5.24.1/sun4-solaris-thread-multi-64/auto/DBI -D_REENTRANT -mcpu=v9 -m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -O -DVERSION=\"1.16\" -DXS_VERSION=\"1.16\" -fPIC "-I/opt/dba/perl-5.24.1/lib/5.24.1/sun4-solaris-thread-multi-64/CORE" Sybase.c In file included from /opt/dba/perl-5.24.1/lib/5.24.1/sun4-solaris-thread-multi-64/CORE/perl.h:5615:0, from /opt/dba/perl-5.24.1/lib/site_perl/5.24.1/sun4-solaris-thread-multi-64/auto/DBI/DBIXS.h:23, from Sybase.h:16, from Sybase.xs:14: Sybase.xs: In function ‘XS_DBD__Sybase__db_ping’: Sybase.xs:83:32: warning: implicit declaration of function ‘syb_ping’ [-Wimplicit-function-declaration] ST(0) = sv_2mortal(newSViv(syb_ping(dbh, imp_dbh))); ^ /opt/dba/perl-5.24.1/lib/5.24.1/sun4-solaris-thread-multi-64/CORE/embed.h:581:46: note: in definition of macro ‘sv_2mortal’ #define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a) ^ Sybase.xs:83:24: note: in expansion of macro ‘newSViv’ ST(0) = sv_2mortal(newSViv(syb_ping(dbh, imp_dbh))); ^ Sybase.xs: In function ‘XS_DBD__Sybase__st_cancel’: Sybase.xs:95:13: warning: implicit declaration of function ‘syb_st_cancel’ [-Wimplicit-function-declaration] ST(0) = syb_st_cancel(sth, imp_sth) ? &PL_sv_yes : &PL_sv_no; ^ gcc -c -I/opt/sybase/OC/OCS/include -DSYB_LP64 -I/opt/dba/perl-5.24.1/lib/site_perl/5.24.1/sun4-solaris-thread-multi-64/auto/DBI -D_REENTRANT -mcpu=v9 -m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -O -DVERSION=\"1.16\" -DXS_VERSION=\"1.16\" -fPIC "-I/opt/dba/perl-5.24.1/lib/5.24.1/sun4-solaris-thread-multi-64/CORE" dbdimp.c rm -f blib/arch/auto/DBD/Sybase/Sybase.so LD_RUN_PATH="/opt/sybase/OC/OCS/lib" gcc -L/opt/sybase/OC/OCS/lib -shared -m64 -L/usr/lib/sparcv9 -L/usr/gnu/lib -fstack-protector Sybase.o dbdimp.o -o blib/arch/auto/DBD/Sybase/Sybase.so \ -L/opt/sybase/OC/OCS/lib -lsybct64 -lsybcs64 -lsybtcl64 -lsybcomn64 -lsybintl64 -lsybblk64 -ldl -lm \ chmod 755 blib/arch/auto/DBD/Sybase/Sybase.so "/opt/dba/perl-5.24.1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Sybase.bs blib/arch/auto/DBD/Sybase/Sybase.bs 644 Manifying 1 pod document sybase@clpsd00a0001:/dbdump/perl_modules/DBD-Sybase-1.16 ACP$ make test Running Mkbootstrap for DBD::Sybase () chmod 644 "Sybase.bs" PERL_DL_NONLAZY=1 "/opt/dba/perl-5.24.1/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/autocommit.t .. ok t/base.t ........ ok t/exec.t ........ ok t/fail.t ........ ok t/login.t ....... 2/6 DBD::Sybase::db ping failed: ct_cmd_alloc failed at t/login.t line 32. t/login.t ....... ok t/main.t ........ Failed 5/36 subtests t/multi_sth.t ... ok t/nsql.t ........ ok t/place.t ....... ok t/thread.t ...... ok t/utf8.t ........ 1/11 # Failed test 'got expected row back from \#utf8test' # at t/utf8.t line 91. # Structures begin differing at: # $got->[0]{ut} = '☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2' # $expected->[0]{ut} = '☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2' # Failed test 'got expected row back from \#utf8test' # at t/utf8.t line 151. # Structures begin differing at: # $got->[0]{ut} = '☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2' # $expected->[0]{ut} = '☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2☺ - smiley1 - ☻ - smiley2' # Looks like you failed 2 tests of 11. t/utf8.t ........ Dubious, test returned 2 (wstat 512, 0x200) Failed 2/11 subtests t/xblk.t ........ ok t/xblob.t ....... ok Test Summary Report ------------------- t/main.t (Wstat: 139 Tests: 31 Failed: 0) Non-zero wait status: 139 Parse errors: Bad plan. You planned 36 tests but ran 31. t/utf8.t (Wstat: 512 Tests: 11 Failed: 2) Failed tests: 4, 9 Non-zero exit status: 2 Files=13, Tests=247, 3 wallclock secs ( 0.21 usr 0.12 sys + 1.43 cusr 0.50 csys = 2.26 CPU) Result: FAIL Failed 2/13 test programs. 2/247 subtests failed. *** Error code 255 make: Fatal error: Command failed for target `test_dynamic' Mark Rehert DBA EIT | ETI | EIS | Enterprise Data Management (EDM) | Lending MAC X3800-017 | 8480 Stagecoach Circle | Frederick, Maryland 21701 Tel: 240-651-2536 | Cell: 301-461-9020 | Fax: 240-651-2840 mark.reh...@wellsfargo.com<mailto:mark.reh...@wellsfargo.com> I am a part-time employee. Below is my intended schedule for the next couple of weeks (Eastern Time). 5/28 – 6/1: Tue – Thr: 8:30 – 5:00 6/4 – 6/8: Mon: 10 – 2, Tue - Wed: 8:30 – 5:00, Thr: 10 – 2 6/11 – 6/15: Tue – Thr: 8:30 – 5:00 This transmission may contain information that is confidential and/or proprietary. If you are not the individual or entity to which it is addressed, note that any review, disclosure, copying, retransmission, or other use is strictly prohibited. If you received this transmission in error, please notify the sender immediately and delete the material from your system. This transmission is for informational purposes only and is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. Any information regarding specific investments or other products is not warranted for completeness or accuracy and is subject to change without notice.