PHP 4.0 Bug #5520 Updated: cybase-ct failure at apache make
| From: | Bug Database | Date: | Sun, 03 Sep 2000 11:32:33 +0000 |
| Subject: | PHP 4.0 Bug #5520 Updated: cybase-ct failure at apache make | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-31774@lists.php.net to get a copy of this message | ||
ID: 5520
Updated by: waldschrott
Reported By: alex@quad.com.ar
Status: Closed
Bug Type: Sybase-ct (ctlib) related
Assigned To:
Comments:
Closed due to missing user feedback.
Previous Comments:
[2000-09-03 07:32:33] waldschrott@php.net
Closed due to missing user feedback.
----------------------------------------------------------------------------
[2000-08-08 22:59:37] waldschrott@php.net
What´s the bugs current state?
----------------------------------------------------------------------------
[2000-07-15 03:55:42] joey@cvs.php.net
Alex,
Wow. That was a lot. Thanks for going through all of that.
A few notes of interest: error_reporting(15) is no longer proper. Instead,
you probably want error_reporting(-1).
There have been problems with the sybase DB-Lib (what you get if you
compile --with-sybase), not the least of which it has recently stopped connecting for several
people. While I am trying to track this down, I'm not a genius like any of the core guys,
I'm just the "closest thing to that is able to duplicate the problem".
I don't really know anything a/b connecting to MSSQL 7.0. You may want to ask on php-general,
as I know full well there are people out there that are doing this. I do not have MSSQL to test
stuff like this against, so I won't be of much help here. However, I will continue to try and
track down the connect() bugs as best I can.
----------------------------------------------------------------------------
[2000-07-14 16:14:56] alex@quad.com.ar
ok here's the
nm /src/web/sybase/lib/libcomn.* | grep comn_loc_copy result of the
ctlib I've been using (ctlib-linux-elf.tar.gz):
000002c0 T comn_loc_copy
Then I downloaded the ctlib you mention (ctlib-linux-elf-dynamic.tar.gz) and tried that same
command.. the results are:
000002c0 T comn_loc_copy
0001ef90 T comn_loc_copy
at this new ctlib package I've noticed there's a .so.10 for each .a file, while the old
one only had .a files on it (no .so.* at all)
so I rm -rf the whole apache, php & sybase dirs to start all over from scratches but using this
new lib instead.
notice that I'm allways using the same ./configure arguments I mention on my first post.
the resuts:
apache make gives out 'undefined references' errors, here are some:
gcc -DLINUX=2 -I/src/web/php-4.0.1pl2 -I/src/web/php-4.0.1pl2/main -I/src/web/php-4.0.1pl2/main
-I/src/web/php-4.0.1pl2/Zend -I/src/web/php-4.0.1pl2/Zend -I/src/web/php-4.0.1pl2 -DUSE_EXPAT
-I./lib/expat-lite -DNO_DL_NEEDED ./apaci
-o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a
main/libmain.a ./os/unix/libos.a ap/libap.a lib/expat-lite/libexpat.a -Wl,-rpath,/src/web/gd1.5
-Wl,-rpath,/src/imap-4.7c/c-client -Wl,-rpath,/src/web/flash -Wl,-rpath,/src/web/sybase/lib
-rdynamic -L/src/web/gd1.5 -L/src/imap-4.7c/c-client -L/src/web/flash -L/src/web/sybase/lib
-Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4 -ldb -lc-client -ldl -linsck
-lsybtcl -lintl -lcomn -lct -lcs -lswf -lgd -lresolv -lm -ldl -lcrypt -lnsl -lresolv -lm -lcrypt
/src/web/sybase/lib/libct.a(ctbind.o): In function `ct__api_get_conv_func':
ctbind.o(.text+0x367): undefined reference to `com_conv_func'
/src/web/sybase/lib/libct.a(ctconall.o): In function `ct__api_conprop_init':
ctconall.o(.text+0x163): undefined reference to `comn_loc_alloc'
/src/web/sybase/lib/libct.a(ctconall.o): In function `ct__api_con_external_init':
ctconall.o(.text+0x3b2): undefined reference to `com_async_alloc'
I've been trying lots of different ways to get this working, and finally found some way out:
I downloaded the sybase package from linux.sybase.com called: sybase-common-11.9.2-1.i386.rpm
and copied its lib/*.so to my /src/sybase/lib/ (where I had the sybase-ct dynamic libs)
I again try --with-sybase-ct=/src/sybase and this compiles ok at php and apache.
but this is not the end of the story. It looks like this sybase-ct thing won't connect to MS
SQL 7.0 servers
I sniffed the connection and see it connects to the right port and ip and the NT server replies the
packets. but connection can't be made. I read people have the same problem and uses
--with-sybase instead (mentioned at the anotated manual of mssql_connect()) so that's what I
try now
I've downloaded all packages from linux.sybase.com, installed them, compiled php
--with-sybase=/opt/sybase-xxx/ this compiles ok but no connection is being made to the server. how
did I check? stopped apache, launched a sniffer, launched apache with strace -f -o debug.log
./httpd -X and then I launch my browser to the script that uses mssql_connect(), the sniffer
doesnt sees any package sent or received from/to the SQL server, the debug.log doesnt stat or open
the interface file (defined at php.ini). the function returns FALSE and no error is shown...(I did
use error_reporting(15) to it) no log files errors no trace at all of what went wrong.
please any help on how to make php4 to work with ms sql 7?
I just refuse to go the easy ASP way or use ODBC.
thanks for your time and support!
Regards,
Alex
----------------------------------------------------------------------------
[2000-07-14 03:40:34] joey@cvs.php.net
What does
nm /src/web/sybase/lib/libcomn.* | grep comn_loc_copy
say?
Can you try the
http://www.php.net/extra/ctlib-linux-elf-dynamic.tar.gz
package
and see if anything changes for you?
----------------------------------------------------------------------------
[2000-07-11 18:09:59] alex@quad.com.ar
I get lots of sybase-ct related errors when I make apache 1.3.12
here's a sample of such errors:
gcc -DLINUX=2 -I/src/web/php-4.0.1pl2 -I/src/web/php-4.0.1pl2/main
-I/src/web/php-4.0.1pl2/main -I/src/web/php-4.0.1pl2/Zend -I/src/web/php-4.0.1pl2/Zend
-I/src/web/php-4.0.1pl2
-DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED ./apaci
-o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a
modules/fastcgi/libfastcgi.a main/libmain.a ./os/unix/libos.a ap/libap.a
lib/expat-lite/libexpat.a -Wl,-rpath,/src/web/gd1.5 -Wl,-rpath,/src/imap-4.7c/c-client
-Wl,-rpath,/src/web/flash -Wl,-rpath,/src/web/sybase/lib -rdynamic -L/src/web/gd1.5
-L/src/imap-4.7c/c-client
-L/src/web/flash -L/src/web/sybase/lib -Lmodules/php4 -L../modules/php4
-L../../modules/php4 -lmodphp4 -ldb -lc-client -ldl -linsck -lsybtcl -lintl -lcomn -lct -lcs -lswf
-lgd
-lresolv -lm -ldl -lcrypt -lnsl -lresolv -lm -lcrypt
/src/web/sybase/lib/libct.a(ctconpr.o)(.text+0x5ac): undefined reference to
`comn_loc_copy'
/src/web/sybase/lib/libct.a(ctconpr.o)(.text+0x66a): undefined reference to
`comn_loc_copy'
/src/web/sybase/lib/libct.a(ctcondr.o)(.text+0x1e0): undefined reference to
`comn_loc_drop'
/src/web/sybase/lib/libct.a(ctcondr.o)(.text+0x248): undefined reference to
`com_async_drop'
/src/web/sybase/lib/libct.a(ctcondr.o)(.text+0x268): undefined reference to
`com_async_drop'
/src/web/sybase/lib/libct.a(ctcondr.o)(.text+0x28f): undefined reference to
`com_async_shut'
my configure command at php was:
./configure
--with-apache=../apache_1.3.12
--with-mysql
--with-ftp
--with-gettext
--with-config-file-path=/etc
--disable-debug
--enable-track-vars
--with-imap=/src/imap-4.7c
--with-freetype=../freetype-1.3.1
--with-gd=../gd1.5
--with-swf=../flash
--with-sybase-ct=/src/web/sybase
my configure command at apache-1.3.12 was:
./configure
"--with-layout=Apache"
"--prefix=/www"
"--sysconfdir=/etc/apache"
"--logfiledir=/var/log/apache"
"--activate-module=src/modules/php4/libphp4.a"
"--activate-module=src/modules/fastcgi/libfastcgi.a"
btw, this same error happens at php 4.0.0 as well.
the sybase-ct package has been downloaded from
http://www.php.net/extra/ctlib-linux-elf.tar.gz
hope all this info is enough.
Thanks!
Alex.
----------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=5520