[freetds] DBD::Sybase + FreeTDS (0.64 + daily patch applied) errors

John ionutz22 at gmail.com
Tue Sep 19 03:54:27 EDT 2006


Thanks Michael.

I added the folowing before syb_init() function in dbdimp.c file and
everything is fine.

#undef CS_VERSION_150
#undef CS_VERSION_125
#undef CS_VERSION_120
#undef CS_DATE_TYPE 
#undef CS_BIGINT_TYPE

Monday, September 18, 2006, 3:29:35 PM, you wrote:

>  
> It looks like the include files aren't fully compatible with the ASE 15.0 versions.
>  
> The offending code in DBD::Sybase: 
>  
> #if defined(CS_VERSION_150) 
>     if(cs_ver == CS_VERSION_150) 
>         BLK_VERSION = BLK_VERSION_150; 
> #endif 
>  
> So it appears that FreeTDS defines CS_VERSION_150, but not BLK_VERSION_150
>  
> and 
>  
> #if defined(CS_DATE_TYPE) 
>     case CS_DATE_TYPE: bytes = sizeof(CS_DATE); break; 
>     case CS_TIME_TYPE: bytes = sizeof(CS_TIME); break; 
> #endif 
> #if defined(CS_BIGINT_TYPE) 
>     case CS_BIGINT_TYPE: bytes = sizeof(CS_BIGINT); break; 
>     case CS_USMALLINT_TYPE: bytes = sizeof(CS_USMALLINT); break; 
>     case CS_UINT_TYPE: bytes = sizeof(CS_UINT); break; 
>     case CS_UBIGINT_TYPE: bytes = sizeof(CS_UBIGINT); break; 
> #endif 
>  
> This would seem to imply that freetds defines the CS_DATE_TYPE
> macro, but not the CS_DATE typedef. 
>  
> You can probably fix the problem by adding something like: 
>  
> #undef CS_VERSION_150 
> #undef CS_DATE_TYPE 
> #undef CS_BIGINT_TYPE 
>  
> right before the first function definition in dbdimp.c 
>  
> Michael 
>  
>  
> Michael 
>  
>  
>  
>  
>  
> Internet 
> ionutz22 at gmail.com@lists.ibiblio.org - 18.09.2006 14:20 
>   Please respond to ionutz22 at gmail.com; Please respond to freetds at lists.ibiblio.org
> Sent by:        freetds-bounces at lists.ibiblio.org 
> To:        sybperl-l 
> cc:        freetds 
> Subject:        [freetds] DBD::Sybase + FreeTDS (0.64 + daily patch applied) errors
>  
>  
> Hello all,
>   
> I have the following configuration:
>  - CentOS 4.4
>  - FreeTDS (0.64 stable + daily patch)
>  - DBD::Sybase 1.07
>   
> I want to compile the DBD::Sybase module and I get the following errors:
>   
> <snip>
>  [root at app5 DBD-Sybase-1.07]# make
>  cp dbd-sybase.pod blib/lib/DBD/dbd-sybase.pod
>  cp Sybase.pm blib/lib/DBD/Sybase.pm
>  /usr/bin/perl -p -e "s/~DRIVER~/Sybase/g"
> /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/Driver.xst > Sybase.xsi
>  /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp  -typemap
> /usr/lib/perl5/5.8.5/ExtUtils/typemap  Sybase.xs > Sybase.xsc && mv Sybase.xsc Sybase.c
>  gcc -c  -I/usr/local/freetds/include -DNO_THREADS  -DSYB_LP64
> -I/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI
> -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -I/usr/include/gdbm -O2 -g -pipe -m64   -DVERSION=\"1.07\"
> -DXS_VERSION=\"1.07\" -fPIC
> "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE"   Sybase.c
>  gcc -c  -I/usr/local/freetds/include -DNO_THREADS  -DSYB_LP64
> -I/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI
> -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -I/usr/include/gdbm -O2 -g -pipe -m64   -DVERSION=\"1.07\"
> -DXS_VERSION=\"1.07\" -fPIC
> "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE"   dbdimp.c
>  dbdimp.c: In function `syb_init':
>  dbdimp.c:752: error: `BLK_VERSION_150' undeclared (first use in this function)
>  dbdimp.c:752: error: (Each undeclared identifier is reported only once
>  dbdimp.c:752: error: for each function it appears in.)
>  dbdimp.c:756: error: `BLK_VERSION_125' undeclared (first use in this function)
>  dbdimp.c:760: error: `BLK_VERSION_120' undeclared (first use in this function)
>  dbdimp.c: In function `alloc_datatype':
>  dbdimp.c:3365: error: `CS_DATE' undeclared (first use in this function)
>  dbdimp.c:3366: error: `CS_TIME' undeclared (first use in this function)
>  dbdimp.c:3369: error: `CS_BIGINT' undeclared (first use in this function)
>  dbdimp.c:3370: error: `CS_USMALLINT' undeclared (first use in this function)
>  dbdimp.c:3372: error: `CS_UBIGINT' undeclared (first use in this function)
>  dbdimp.c: In function `_dbd_rebind_ph':
>  dbdimp.c:4779: warning: passing arg 2 of `to_binary' from incompatible pointer type
>  make: *** [dbdimp.o] Error 1
>  </snip>
>   
> I can compile DBD::Sybase using the stable version of FreeTDS
> (0.64), but it doesn't work with FreeTDS 0.64 + daily patch.
>  You can get the daily patch from:
> http://freetds.sourceforge.net/post64.diff.gz
>  I'm not sure if this problem is FreeTDS or DBD::Sybase related, so I'm writing on both lists.
>   
> Any help will be appreciated.
>   
> Thanks in advance,
>  John.
>  _______________________________________________
>  FreeTDS mailing list
>  FreeTDS at lists.ibiblio.org 
> http://lists.ibiblio.org/mailman/listinfo/freetds 
> This message and any attachments (the "message") is
> intended solely for the addressees and is confidential. 
> If you receive this message in error, please delete it and 
> immediately notify the sender. Any use not in accord with 
> its purpose, any dissemination or disclosure, either whole 
> or partial, is prohibited except formal approval. The internet
> can not guarantee the integrity of this message. 
> BNP PARIBAS (and its subsidiaries) shall (will) not 
> therefore be liable for the message if modified. 

>                 ---------------------------------------------

> Ce message et toutes les pieces jointes (ci-apres le 
> "message") sont etablis a l'intention exclusive de ses 
> destinataires et sont confidentiels. Si vous recevez ce 
> message par erreur, merci de le detruire et d'en avertir 
> immediatement l'expediteur. Toute utilisation de ce 
> message non conforme a sa destination, toute diffusion 
> ou toute publication, totale ou partielle, est interdite, sauf 
> autorisation expresse. L'internet ne permettant pas 
> d'assurer l'integrite de ce message, BNP PARIBAS (et ses
> filiales) decline(nt) toute responsabilite au titre de ce 
> message, dans l'hypothese ou il aurait ete modifie.
>  


-- 
Best regards,
 John                            mailto:ionutz22 at gmail.com




More information about the FreeTDS mailing list