#44991 [Com]: Compile Failure With freetds0.82
ID: 44991
Comment by: hoffie at gentoo dot org
Reported By: scourgen at gmail dot com
Status: Open
Bug Type: MSSQL related
Operating System: Centos5.1(k2.6.18)
PHP Version: 5.2.6
New Comment:
I can confirm that above patch makes it possible to compile php-5.2.6
against both freetds-0.64 (i.e. it does not break backward
compatibility) and freetds-0.82 (i.e. it works with recent versions).
You can find a whitespace-fixed (bug tracker screwed it up) and
direction-fixed (patch had to be applied using -R) version of the patch
here:
http://overlays.gentoo.org/proj/php/browser/patches/php-patches/5.2.6/php5/mssql-freetds-compat.patch?rev=3485
Credits should still go to jklowden at freetds dot org.
Any way to get this patch in, especially since it does not seem to
break backwards compatibility?
Previous Comments:
------------------------------------------------------------------------
[2008-07-16 07:56:25] matthias at dsx dot at
same on gentoo linux...
http://bugs.gentoo.org/show_bug.cgi?id=223891
(freetds bug)
------------------------------------------------------------------------
[2008-06-12 00:19:27] jklowden at freetds dot org
This diff is what you want. --jkl
--- config.m4-new 2008-06-11 20:13:47.000000000 -0400
+++ config.m4 2007-07-03 13:25:34.000000000 -0400
@@ -10,11 +10,11 @@
if test "$PHP_MSSQL" = "yes"; then
for i in /usr/local /usr; do
- if test -f $i/include/sybdb.h; then
+ if test -f $i/include/tds.h; then
FREETDS_INSTALLATION_DIR=$i
FREETDS_INCLUDE_DIR=$i/include
break
- elif test -f $i/include/freetds/sybdb.h; then
+ elif test -f $i/include/freetds/tds.h; then
FREETDS_INSTALLATION_DIR=$i
FREETDS_INCLUDE_DIR=$i/include/freetds
break
@@ -27,10 +27,10 @@
elif test "$PHP_MSSQL" != "no"; then
- if test -f $PHP_MSSQL/include/sybdb.h; then
+ if test -f $PHP_MSSQL/include/tds.h; then
FREETDS_INSTALLATION_DIR=$PHP_MSSQL
FREETDS_INCLUDE_DIR=$PHP_MSSQL/include
- elif test -f $PHP_MSSQL/include/freetds/sybdb.h; then
+ elif test -f $PHP_MSSQL/include/freetds/tds.h; then
FREETDS_INSTALLATION_DIR=$PHP_MSSQL
FREETDS_INCLUDE_DIR=$PHP_MSSQL/include/freetds
else
@@ -38,8 +38,8 @@
fi
fi
- if test ! -r "$FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.a" &&
test ! -r "$FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.so"; then
- AC_MSG_ERROR(Could not find
$FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.[a|so])
+ if test ! -r "$FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libtds.a" &&
test ! -r "$FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libtds.so"; then
+ AC_MSG_ERROR(Could not find
$FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libtds.[a|so])
fi
PHP_ADD_INCLUDE($FREETDS_INCLUDE_DIR)
------------------------------------------------------------------------
[2008-05-29 20:09:21] brodie at mcw dot edu
I have the same issue-- note, this problem is due to that the freetds
environment NO LONGER PROVIDES tds.h, or libtds.so. This is a total
re-design of freetds, and as such, completely breaks the ability of php
to use the -with-mssql option.
The re-design of FreeTDS as outlined above was as of version 0.82.
As documented, the --with-mssql=[freetds dir] will fail, and will
complain that the directory is not a freeTDS directory.
------------------------------------------------------------------------
[2008-05-14 05:08:27] scourgen at gmail dot com
Description:
------------
compile failure with freetds version 0.82(no tds.h,libtds.so)
Reproduce code:
---------------
configure:
./configure --with-mssql=/usr/local/freetds
Expected result:
----------------
configure: error: Directory /usr/local/freetds is not a FreeTDS
installation directory
Actual result:
--------------
there is no tds.h,libtds.so in freetds install directory(just in
freetds version 0.82)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44991&edit=1
Thread (8 messages)