Skip Menu |

This queue is for tickets about the DBD-Sybase CPAN distribution.

Report information
The Basics
Id: 84040
Status: open
Priority: 0/
Queue: DBD-Sybase

People
Owner: mpeppler [...] peppler.org
Requestors: gdishant [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 1.14
Fixed in: (no value)



Subject: Issue installing DBD::Sybse1.14
Hi Team, We are trying to install DBD:Sybase 1.14 on Sun Solaris server 5.9 with Perl version as 5.16.2. We are facing below error. dbdimp.c: In function `syb_st_execute': dbdimp.c:3906: warning: passing arg 2 of `ct_results' from incompatible pointer type dbdimp.c:3916: parse error before `datafmt' dbdimp.c:3918: `datafmt' undeclared (first use in this function) dbdimp.c:3918: (Each undeclared identifier is reported only once dbdimp.c:3918: for each function it appears in.) dbdimp.c:3930: warning: passing arg 5 of `ct_bind' from incompatible pointer type *** Error code 1 make: Fatal error: Command failed for target `dbdimp.o' Due to this error, we are unable to install DBD::Sybase module. If possible can you please help in resolving this error. Regards, Dishant Gavale
This looks like some issue with the Sybase OpenClient libraries or include files. Please post the output from perl Makefile.PL and the full output from make Thanks, Michael
From: gdishant [...] gmail.com
On Tue Mar 19 14:20:41 2013, MEWP wrote: Show quoted text
> This looks like some issue with the Sybase OpenClient libraries or > include files. > > Please post the output from > > perl Makefile.PL > > and the full output from > > make > > Thanks, > > Michael
Thanks Michael for looking into it. Please find attached output of two commands. Regards, Dishant Gavale
Subject: DBD_error.txt
# perl Makefile.PL 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]: Y BLK api available - found: blk_r blk 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): XXXXXXXX User ID to log in to Sybase (default: sa): XXXXXX Password (default: undef): XXXXXX Sybase database to use on PSNSYBD1 (default: undef): master * Writing login information, including password, to file PWD. Using DBI 1.623 (for perl 5.016002 on sun4-solaris) installed in /export/home/sy base/localperl/lib/site_perl/5.16.2/sun4-solaris/auto/DBI/ Writing Makefile for DBD::Sybase Writing MYMETA.yml and MYMETA.json Skip blib/lib/DBD/dbd-sybase.pod (unchanged) Skip blib/lib/DBD/Sybase.pm (unchanged) gcc -c -I/opt/sybase/OCS-12_5/include -I/export/home/sybase/localperl/lib/site_perl/5.16.2/sun4-solaris/auto/DBI -fno-stric t-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"1.14\" -DXS_VERSION=\"1.1 4\" -fPIC "-I/export/home/sybase/localperl/lib/5.16.2/sun4-solaris/CORE" Sybase.c gcc -c -I/opt/sybase/OCS-12_5/include -I/export/home/sybase/localperl/lib/site_perl/5.16.2/sun4-solaris/auto/DBI -fno-stric t-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"1.14\" -DXS_VERSION=\"1.1 4\" -fPIC "-I/export/home/sybase/localperl/lib/5.16.2/sun4-solaris/CORE" dbdimp.c *** Error code 1 dbdimp.c: In function `syb_st_execute': dbdimp.c:3906: warning: passing arg 2 of `ct_results' from incompatible pointer type dbdimp.c:3916: parse error before `datafmt' dbdimp.c:3918: `datafmt' undeclared (first use in this function) dbdimp.c:3918: (Each undeclared identifier is reported only once dbdimp.c:3918: for each function it appears in.) dbdimp.c:3930: warning: passing arg 5 of `ct_bind' from incompatible pointer type make: Fatal error: Command failed for target `dbdimp.o'
Thanks. You are hitting a C syntax issue that shows up with certain more recent C compilers. Edit dbdimp.c and at lines 3915 switch phs = params[i].phs; CS_DATAFMT datafmt; to CS_DATAFMT datafmt; phs = params[i].phs; and things should work.
From: gdishant [...] gmail.com
On Wed Mar 20 16:06:14 2013, MEWP wrote: Show quoted text
> Thanks. > You are hitting a C syntax issue that shows up with certain more > recent C compilers. > > Edit dbdimp.c and at lines 3915 switch > > phs = params[i].phs; > CS_DATAFMT datafmt; > > to > > CS_DATAFMT datafmt; > phs = params[i].phs; > > and things should work. > >
Thanks alot sir. It worked. Regards, Dishant