Date: 11/13/00
- Next message: Mike <email protected>: "[PHP-DEV] PHP 4.0 Bug #7797: httpd doesn't repond to GET requests."
- Previous message: Ron Chmara: "Re: [PHP-DEV] assymetric encryption functions based on OpenSSL"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
ID: 7792
User Update by: alex <email protected>
Status: Open
Bug Type: Compile Failure
Description: -lsybctl failure at FreeTDS
ok, I had to patch php-4.0.3pl1 in order to compile php --with-sybase-ct using freetds libs (patch at the end of this report)
the problem is that FreeTDS does not have a couple of files that php looks for when compiling --with-sybase-ct support, those files (if I'm not mistaken) are:
libcs.so
libcomn.so
libintl.so
libtcl.so
libsybtcl.so
libinsck.so
now, I've read the bug report #7595 http://bugs.php.net/bugs.php?id=7595 which is directly related to this issue, in fact the patch I built is strictly based on the patch laszlo talks about on that bug-report. But this one works on 4.0.3pl1
Basically: freeTDS is useless on php4 unless you patch php, so It's more a php issue than a freetds issue, would be possible for you guys to help in the next releases of php by including something like --with-freetds instead of --with-sybase-ct (or something like it) in a way that it wont look for those missing files?
Well, unless php team incorporates a way to compile freetds support without hacking php we'll just have to patch php from version to version, (which is not bad for me since I already learned how to do it, but for the rest of the guys who are starting with php... well it can be a real pain!)
and here's the patch I've used to succesfully compile freeTDS as --with-sybase-ct (maybe it has some errors, it's my first patch EVER.. go figure :))
diff -u -r php-4.0.3pl1/configure php-4.0.3pl1-patched/configure
--- php-4.0.3pl1/configure Sun Oct 15 08:47:10 2000
+++ php-4.0.3pl1-patched/configure Mon Nov 13 21:55:17 2000
@@ -16720,7 +16720,7 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
-LIBS="-lintl $LIBS"
+#LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 16726 "configure"
#include "confdefs.h"
@@ -39336,7 +39336,7 @@
*)
- LIBS="-lcs $LIBS"
+ #LIBS="-lcs $LIBS"
;;
@@ -39360,7 +39360,7 @@
*)
- LIBS="-lcomn $LIBS"
+ #LIBS="-lcomn $LIBS"
;;
@@ -39372,7 +39372,7 @@
*)
- LIBS="-lintl $LIBS"
+ #LIBS="-lintl $LIBS"
;;
@@ -39388,7 +39388,7 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
-LIBS="-ltcl $SYBASE_CT_LIBS $LIBS"
+#LIBS="-ltcl $SYBASE_CT_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
#line 39394 "configure"
#include "confdefs.h"
@@ -39422,7 +39422,7 @@
*)
- LIBS="-ltcl $LIBS"
+ #LIBS="-ltcl $LIBS"
;;
@@ -39436,7 +39436,7 @@
*)
- LIBS="-lsybtcl $LIBS"
+ #LIBS="-lsybtcl $LIBS"
;;
@@ -39451,7 +39451,7 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
-LIBS="-linsck $LIBS"
+#LIBS="-linsck $LIBS"
cat > conftest.$ac_ext <<EOF
#line 39457 "configure"
#include "confdefs.h"
@@ -39485,7 +39485,7 @@
*)
- LIBS="-linsck $LIBS"
+ #LIBS="-linsck $LIBS"
;;
@@ -39502,7 +39502,7 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
-LIBS="-linsck $LIBS"
+#LIBS="-linsck $LIBS"
cat > conftest.$ac_ext <<EOF
#line 39508 "configure"
#include "confdefs.h"
@@ -39536,7 +39536,7 @@
*)
- LIBS="-linsck $LIBS"
+ #LIBS="-linsck $LIBS"
;;
diff -u -r php-4.0.3pl1/ext/sybase_ct/config.m4 php-4.0.3pl1-patched/ext/sybase_ct/config.m4
--- php-4.0.3pl1/ext/sybase_ct/config.m4 Sat Jun 24 06:01:51 2000
+++ php-4.0.3pl1-patched/ext/sybase_ct/config.m4 Mon Nov 13 21:57:19 2000
@@ -20,21 +20,11 @@
fi
AC_ADD_INCLUDE($SYBASE_CT_INCDIR)
AC_ADD_LIBPATH($SYBASE_CT_LIBDIR)
- AC_ADD_LIBRARY(cs)
AC_ADD_LIBRARY(ct)
- AC_ADD_LIBRARY(comn)
- AC_ADD_LIBRARY(intl)
- SYBASE_CT_LIBS="-lcs -lct -lcomn -lintl"
+ SYBASE_CT_LIBS="-lct"
old_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -L$SYBASE_CT_LIBDIR"
- AC_CHECK_LIB(tcl, netg_errstr,
- [ AC_ADD_LIBRARY(tcl) ],
- [ AC_ADD_LIBRARY(sybtcl) ],
- [ $SYBASE_CT_LIBS ])
- AC_CHECK_LIB(insck, insck__getVdate,
- [ AC_ADD_LIBRARY(insck) ])
- AC_CHECK_LIB(insck, bsd_tcp,
- [ AC_ADD_LIBRARY(insck) ])
+
LDFLAGS=$old_LDFLAGS
else
AC_MSG_RESULT(no)
Previous Comments:
---------------------------------------------------------------------------
[2000-11-13 15:02:54] alex <email protected>
php4.0.3pl1 'make' fails when using ./configure --with-sybase-ct=/usr/local/freetds with the following error:
make[1]: Entering directory `/src/php-4.0.3pl1'
/bin/sh /src/php-4.0.3pl1/libtool --silent --mode=link gcc -I. -I/src/php-4.0.3pl1/ -I/src/php-4.0.3pl1 -I/src/php-4.0.3pl1/main -I/www/include -I/src/php-4.0.3pl1/Zend -I/src/php-4.0.3pl1 -I/usr/local/include/mysql -I/usr/local/freetds/include -I/src/php-4.0.3pl1/ext/xml/expat/xmltok -I/src/php-4.0.3pl1/ext/xml/expat/xmlparse -I/src/php-4.0.3pl1/TSRM -DXML_BYTE_ORDER=12 -g -O2 -o libphp4.la -rpath /src/php-4.0.3pl1/libs -avoid-version -L/usr/local/lib/mysql -L/usr/local/pgsql/lib -L/usr/local/freetds/lib -R /usr/local/lib/mysql -R /usr/local/pgsql/lib -R /usr/local/freetds/lib stub.lo Zend/libZend.la sapi/apache/libsapi.la main/libmain.la regex/libregex.la ext/gettext/libgettext.la ext/mysql/libmysql.la ext/pcre/libpcre.la ext/pgsql/libpgsql.la ext/posix/libposix.la ext/session/libsession.la ext/standard/libstandard.la ext/sybase_ct/libsybase_ct.la ext/xml/libxml.la TSRM/libtsrm.la -ldl -lsybtcl -lintl -lcomn -lct -lcs -lpq -lmysqlclient -lresolv -lm -ldl -lcrypt -lnsl -lresolv
/usr/bin/ld: cannot find -lsybtcl
collect2: ld returned 1 exit status
make[1]: *** [libphp4.la] Error 1
make[1]: Leaving directory `/src/php-4.0.3pl1'
make: *** [all-recursive] Error 1
here's the details of my installation:
freeTDS from cvs (version 0.51)
was compiled with:
./configure --with-tdserver=4.2 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
make && make install
(everything went ok, no errors)
then at php4.0.3pl1 src dir:
./configure --with-apxs=/www/bin/apxs --with-mysql=/usr/local --with-ftp --with-gettext --with-config-file-path=/etc --disable-debug --enable-track-vars --with-pgsql=/usr/local/pgsql --with-sybase-ct=/usr/local/freetds
as far as I can tell that required libsybctl file is not available at the freetds distribution, it is available though, at the sybase-common-11.9.2-3.i386.rpm (from sybase.com)
I'll now try to mix files from freetds and sybase-common but I never really liked to play Mr. Frankenstein.
anyway, any feedback would be great :)
regards,
Alex Verstraeten
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=7792
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: Mike <email protected>: "[PHP-DEV] PHP 4.0 Bug #7797: httpd doesn't repond to GET requests."
- Previous message: Ron Chmara: "Re: [PHP-DEV] assymetric encryption functions based on OpenSSL"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

