develooper Front page | perl.dbi.users | Postings from June 2018

PERL 5.24.1 DBD::Sybase Module Build Error

From:
mark.rehert via dbi-users
Date:
June 1, 2018 09:42
Subject:
PERL 5.24.1 DBD::Sybase Module Build Error
Message ID:
99a47468d91d4f1a98af55b79a7836e1@wellsfargo.com
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.rehert@wellsfargo.com<mailto:mark.rehert@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.





nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About