PHP4/Freetds Build
Harold Worby
h.worby at kinsey.com
Fri Sep 14 19:49:01 EDT 2001
I'm tring to get freetds working with PHP-4.0.6.
I compile freetds with:
./configure --with-tdsver=4.2 --enable-msdblib \
--with-gnu-ld --enable-shared \
--enable-static
and can run 'make check' with success.
When i try to build PHP4 with:
make distclean
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--enable-versioning \
--with-mysql \
--enable-ftp \
--with-gd=/usr/local/gd1.3 \
--enable-bcmath \
--disable-debug \
--enable-memory-limit=yes \
--enable-track-vars \
--with-imap=/usr/local \
--with-unixODBC \
--with-sybase=/usr/local/freetds
I get errors from the make:
In file included from /usr/local/freetds/include/sybfront.h:23,
from /home/tmp/php-4.0.6/ext/sybase/php_sybase_db.h:67,
from internal_functions.c:43:
/usr/local/freetds/include/sybdb.h:72: conflicting types for `RETCODE'
/usr/local/include/sqltypes.h:199: previous declaration of `RETCODE'
/usr/local/freetds/include/sybdb.h:80: warning: useless keyword or type name in
empty declaration
/usr/local/freetds/include/sybdb.h:80: warning: empty declaration
/usr/local/freetds/include/sybdb.h:106: warning: redefinition of `BYTE'
/usr/local/include/sqltypes.h:56: warning: `BYTE' previously declared here
make[2]: *** [internal_functions.lo] Error 1
make[2]: Leaving directory `/home/tmp/php-4.0.6/main'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tmp/php-4.0.6/main'
make: *** [all-recursive] Error 1
Changing --with-sybase to --with-sybase-ct
yeilds errors:
/usr/bin/ld: cannot find -lsybtcl
collect2: ld returned 1 exit status
make[1]: *** [libphp4.la] Error 1
make[1]: Leaving directory `/usr/local/php-4.0.6'
make: *** [all-recursive] Error 1
even AFTER editing the ./Zend/Makefile to remove the references to libsybtcl libcs and libintl
# at line 104 in Zend/Makefile change
libZend_la_LDFLAGS = -L/usr/local/lib -lodbc -lpam -lc-client
-ldl -lcomn -lct
-lpam -lgd -lcrypt -lresolv -lm -ldl -lnsl -lresolv
# to
libZend_la_LDFLAGS = -L/usr/local/lib -lodbc -lpam -lc-client -ldl
-lsybtcl -lintl -lcomn -lct -lcs -lpam -lgd -lcrypt -lresolv -lm -ldl
-lnsl -lresolv
I've tried to hunt down all the referances to sybtcl and remove them
giving me an error about libcomn
Any one know how to get PHP4 with freetds and mysql to compile?
I need to compile on Linux (RH6.2) and Solaris 2.7
Harold Worby
More information about the FreeTDS
mailing list