Skip to Content.
Sympa Menu

freetds - Re: [freetds] php undefined symbol: mssql_module_entry (cannot load phpwith --with-mssql=/usr/local/freetds)

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Daniel Fazekas <fdsubs AT t-online.hu>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] php undefined symbol: mssql_module_entry (cannot load phpwith --with-mssql=/usr/local/freetds)
  • Date: Thu, 9 Nov 2006 01:57:01 +0100


On Nov 8, 2006, at 21:04, Carlos García wrote:

php -m does NOT list mssql.

Okay, then it's quite certain that your problem is in building php, but I guess we knew that already.

Just to be certain, when you say
php -m
did not list mssql, what you really mean is that
/wwwroot/php/bin/php -m
gave you this output.

Or that you did
cd /wwwroot/php/bin/php
./php -m
with emphasis on the "./"

I'm asking because I suspect your problem may be due to having multiple copies, different versions of PHP or FreeTDS on your system.

FREETDS VERSION
[root@qonos php]# tsql -C
Compile-time settings (established with the "configure" script)
Version: freetds v0.65.dev.20061103
freetds.conf directory: /usr/local/etc
MS db-lib source compatibility: yes
Sybase binary compatibility: no
Thread safety: yes
iconv library: yes
TDS version: 5.0
iODBC: no
unixodbc: no
Please note it says v0.65, even though I downloaded the "stable"version
from freetds, which generated 0.64
freetds-0.64
freetds-stable.tar

See, this part is quite unexplainable to me other than to think you do have multiple copies of FreeTDS on your system -- including v0.65.dev.20061103 in its default location of /usr/local, which you are running above.

That copy of tsql above says:
freetds.conf directory: /usr/local/etc

That implies the default FreeTDS installation prefix of /usr/local

Earlier you wrote that to compile PHP, you used:
--with-mssql=/usr/local/freetds

That would imply a freetds.conf directory of /usr/local/freetds/etc instead.

So a guess would be that you got FreeTDS v0.65.dev.20061103 installed into /usr/local and FreeTDS v0.64 inside /usr/local/freetds. I also suspect multiple copies of php.

That's why you shouldn't just do a "php -m" or a
[root@qonos php]# tsql -C

Use
/usr/local/freetds/bin/tsql -C
instead, to make sure you are running the copy you intented to run.

Without a pathname specified, it's up to your shell to figure out what you meant based on your aliases, functions, your PATH environment and so on.
It will tell its guess if you ask:
command -V php tsql
php is /usr/bin/php
tsql is /usr/local/bin/tsql

(Where proper output for you based on your first messages would be
php is /wwwroot/php/bin/php
tsql is /usr/local/freetds/bin/tsql

What I suspect is that it's none of those and you have a duplicate copy of both php and FreeTDS elsewhere.)

MESSAGES ON MAKE
There a 2 mega-lines concerning mssql; nothing useful for me; I've
pasted them below.

It looks like you are not actually compiling anything, just linking now.
I'd then next try to rebuild PHP from scratch.

Start with a
make clean
then try "./configure"-ing and "make"-ing php again. (And finally "make install" as root.)

--
fds





Archive powered by MHonArc 2.6.24.

Top of Page