Bug #7792 [Com]: -lsybctl failure at FreeTDS
| From: | good821 at 126 dot com | Date: | Mon, 29 Aug 2011 08:14:50 +0000 |
| Subject: | Bug #7792 [Com]: -lsybctl failure at FreeTDS | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-163025@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=7792&edit=1
ID: 7792
Comment by: good821 at 126 dot com
Reported by: alex at quad dot com dot ar
Summary: -lsybctl failure at FreeTDS
Status: Bogus
Type: Bug
Package: Sybase-ct (ctlib) related
Operating System: Debian 2.2 (kernel 2.2.16)
PHP Version: 4.0.3pl1
Assigned To: joey
Block user comment: N
Private report: N
New Comment:
http://www.vikingsjerseysstore.com/ Minnesota
Vikings Jersey
http://www.vikingsjerseysstore.com/adrian-peterson-jersey-c-14_19.html Adrian
Peterson Jersey
http://www.vikingsjerseysstore.com/alan-page-jersey-c-14_26.html Alan
Page Throwback Jersey
Previous Comments:
------------------------------------------------------------------------
[2002-06-18 18:16:41] sniper@php.net
Thank you for taking the time to report a problem with PHP.
Unfortunately your version of PHP is too old -- the problem
might already be fixed. Please download a new PHP
version from http://www.php.net/downloads.php
If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.
------------------------------------------------------------------------
[2001-05-14 12:08:49] joey@php.net
Again, I plan on working on this during the coming months.
------------------------------------------------------------------------
[2000-11-13 21:08:48] alex at quad dot com dot ar
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)
------------------------------------------------------------------------
[2000-11-13 15:02:54] alex at quad dot com dot ar
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
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=7792&edit=1