Skip to Content.
Sympa Menu

freetds - Re: conflicting types for `RETCODE'

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Brian Bruns" <camber AT ais.org>
  • To: freetds AT franklin.oit.unc.edu
  • Subject: Re: conflicting types for `RETCODE'
  • Date: Tue, 20 Aug 2002 08:53:19 -0400


PHP doesn't separate their private headers from their public within the
modules. This is a problem whether you use FreeTDS or the Sybase
libraries.

Possible workarounds:

1) use --with-sybase-ct it is the same API but uses ctlib as the
underlying implementation.

2) use the FreeTDS ODBC driver. Not sure how well this is working with
PHP these days, but it's much better than it used to be. Anyone else,
care to comment here?

3) Fix PHP. You'd need to make sure that sybdb.h and sql.h are not
included in the same C file. Basically this means separating out the
public (extension) calls in ext/sybase/php_sybase.h and creating a second
private header to be included only from php_sybase.c. I think there is
one other place you need to make a change too IIRC.

Brian

> Trying to compile PHP 4.0.6 + FreeTDS 0.53 on a Solaris 2.8 machine
>
> I compiled FreeTDS with just a basic ./configure
>
> My PHP configure is a bit more complicated though...
>
> ./configure --prefix=/usr/local/apache/www
> --with-apxs=/usr/local/apache/www/bin/apxs --enable-track-vars --enable-ftp
> --with-gd --enable-gd-imgstrttf --with-ttf --with-zlib=/usr/local
> --with-informix=/usr/local/ifmxsdk --with-ldap=/usr/local/netscape
> --with-mysql=/usr/local/mysql-old --with-mcrypt --with-pgsql
> --disable-debug --enable-libgcc --with-curl --with-imap
> --with-jpeg-dir=/usr/local --with-png-dir=/usr/local
> --with-zlib-dir=/usr/local --with-pspell=/usr/local
> --with-pdflib=/usr/local --with-sybase=/usr/local/freetds --with-xml
>
> When I attempt to compile things --with-sybase, I get
>
> In file included from /usr/local/freetds/include/sybfront.h:23,
> from
> /usr/local/apache/www/src/php-4.0.6/ext/sybase/php_sybase_db.h:67,
> from internal_functions.c:50:
> /usr/local/freetds/include/sybdb.h:72: conflicting types for `RETCODE'
> /usr/local/include/sqltypes.h:130: previous declaration of `RETCODE'
> make[2]: *** [internal_functions.lo] Error 1
>
> at the top of "/usr/local/include/sqltypes.h", I find
>
> /*
> * sqltypes.h
> *
> * $Id: sqltypes.h,v 1.2 1999/06/25 09:04:28 source Exp $
> *
> * ODBC typedefs
> *
> * The iODBC driver manager.
>
> That header is part of iODBC?
>
> Has anyone seen this before? Any way around it?
>
> thanks
> benji
>
> ---
> Ben Spencer
> Web Support
> bspencer AT moody.edu
> x 2288




Archive powered by MHonArc 2.6.24.

Top of Page