Re: PHP 4.0 Bug #7479: error during compilation
| From: | Ignacio Vazquez-Abrams | Date: | Wed, 01 Nov 2000 12:49:55 +0000 |
| Subject: | Re: PHP 4.0 Bug #7479: error during compilation | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-36628@lists.php.net to get a copy of this message | ||
On 26 Oct 2000 milank@merck.cz wrote:
> From: milank@merck.cz
> Operating system: Linux redhat 6.2 Kernel 2.2.16
> PHP version: 4.0.3pl1
> PHP Bug Type: *General Issues
> Bug description: error during compilation
>
> ./configure --with-apache=/usr/src/apache_1.3.12 --enable-track-vars --with-dbf
> --with-sybase=/usr/local/freetds --with-esoob --with-pgsql
>
> results in
>
> In file included from /usr/local/easysoft/oob/client/include/sql.h:43,
> from /usr/src/php-4.0.3pl1/ext/odbc/php_odbc.h:104,
> from internal_functions.c:40:
> /usr/local/easysoft/oob/client/include/sqltypes.h:130: conflicting types for `RETCODE'
> /usr/local/freetds/include/sybdb.h:72: previous declaration of `RETCODE'
> make[2]: *** [internal_functions.lo] Error 1
> make[2]: Leaving directory `/usr/src/php-4.0.3pl1/main'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/usr/src/php-4.0.3pl1/main'
> make: *** [all-recursive] Error 1
>
Hmm. Apparently there is a name conflict between FreeTDS's implementation
of DB-Library and Easysoft OOB. I checked and this problem also exists
with Sybase's own DB-Library.
However, there will most likely be a conflict between the DB-Library and
Apache itself (see http://www.freetds.org/faq.html#43). I would recommend
using CT-Library (--with-sybase-ct) instead.
However, FreeTDS's implementation of CT-Library is incomplete/broken (when
I last checked), so you are better off getting Sybase's own libraries. Go
to http://www.sybase.com/ then follow "Downloads"
(along the left) ->
"Beta Programs" (trust me) -> "Adaptive Server Enterprise for Linux
version 11.9.2 download", and I'm sure you can take it from there.
The packages you need to download are sybase-common-11.9.2-2.i386.rpm,
sybase-openclient-11.1.1-2.i386.rpm, and whatever language packs you
may need. Install the common package first, then the Open Client, then
change your configure line to say
'--with-sybase-ct=/opt/sybase-11.9.2'. DON'T forget to set the SYBASE (to
'/opt/sybase-11.9.2') and LANG (to 'C' or whatever, see
/opt/sybase-11.9.2/locales/locales.dat; make sure you have the necessary
language pack!) environment variables before starting Apache or it will
crash and burn before it even gets off the ground (see bugs #3161, 4809,
et al.).
--
Ignacio Vazquez-Abrams <ignacio@openservices.net>