php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #5520 cybase-ct failure at apache make
Submitted: 2000-07-11 18:05 UTC Modified: 2000-09-03 07:32 UTC
From: alex at quad dot com dot ar Assigned:
Status: Closed Package: Sybase-ct (ctlib) related
PHP Version: 4.0.1pl2 OS: Debian 2.1
Private report: No CVE-ID: None
 [2000-07-11 18:05 UTC] alex at quad dot com dot 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.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-07-11 18:09 UTC] alex at quad dot com dot 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.

 [2000-07-14 03:40 UTC] joey at cvs dot php dot 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-14 16:14 UTC] alex at quad dot com dot 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-15 03:55 UTC] joey at cvs dot php dot 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-08-08 22:59 UTC] waldschrott@php.net
What?s the bugs current state?
 [2000-09-03 07:32 UTC] waldschrott@php.net
Closed due to missing user feedback.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 06:01:30 2024 UTC