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

Carlos García cgarcia at intdatacollection.com
Mon Nov 6 22:20:40 EST 2006


I've been using PHP 5.1.6 with mySQL just fine on Linux Fedora 3 Kernel 2.4
I've just installed FreeTDS and have been able to connect to MS-SQL 
Server by both:
   * tsql -H PRG1 -p 4000 -U sa*   (I had to use 4000 on MS-SQL since 
1433 just wasn't working with -S)
and
    *tsql -S PRG1 -U sa*

Then I re-compiled my running-perfect PHP to add mssql; the following is 
the full line. It compiles just fine.

./configure --prefix=/wwwroot/php --with-apxs2=/wwwroot/bin/apxs 
--with-config-file-path=/wwwroot/php --with-mysql 
--with-mssql=/usr/local/freetds

The problem is when starting the web server (Apache 2) PHP module is not 
loaded properly after building PHP with the line above !!

Error message:
httpd: Syntax error on line 56 of /wwwroot/conf/httpd.conf: Cannot load 
/wwwroot/modules/libphp5.so into server: /wwwroot/modules/libphp5.so: 
undefined symbol: mssql_module_entry

Thew following is from httpd.conf. The third line cannot be executed 
after building with the line above.

#LoadModule perl_module modules/mod_perl.so
#LoadModule cgi_module modules/mod_cgi.so
LoadModule php5_module modules/libphp5.so

As a reference, PHP works just fine building with the configure line 
below (that is, without mssql)
./configure --prefix=/wwwroot/php --with-apxs2=/wwwroot/bin/apxs 
--with-config-file-path=/wwwroot/php --with-mysql

Please note I've only added --with-mssql=/usr/local/freetds

Also, make install gives these two warnings:
        warning: remember to run `libtool --finish /usr/src/php-5.1.6/libs
        You may want to add: /wwwroot/php/lib/php to your php.ini 
include_path
I've done both suggestions to no effect.


Any help greatly appreciated.

Thanks !!

Carlos García



More information about the FreeTDS mailing list