#47819 [Asn->Fbk]: Getting pdo_mysql.so: undefined symbol: mysqlnd_debug_init at startup

[email protected]
Newsgroups php.bugs
Message-ID <[email protected]>
 ID:               47819
 Updated by:       [email protected]
 Reported By:      shahar dot e at zend dot com
-Status:           Assigned
+Status:           Feedback
 Bug Type:         PDO related
 Operating System: Linux i386
 PHP Version:      5.3.0RC1
 Assigned To:      mysql
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/

I still didn't reproduce it but applied a patch with some guessing.
Please try the snapshot and see whether it helps.


Previous Comments:
------------------------------------------------------------------------

[2009-03-30 13:15:58] [email protected]

Ah, the debug piece is important, investigating ...

------------------------------------------------------------------------

[2009-03-30 11:59:05] shahar dot e at zend dot com

Yes, I'm building PHP from scratch with the above mentioned configure
command.

I think that in order to reproduce this you need to add --enable-debug
to your ./configure, as so (I just tried this):

$ ./configure --disable-all --enable-pdo
--with-pdo-mysql=shared,mysqlnd --enable-debug
$ make
$ sapi/cli/php -d extension_dir=modules/ -d extension=pdo_mysql.so -m
PHP Warning:  PHP Startup: Unable to load dynamic library
'modules/pdo_mysql.so' - modules/pdo_mysql.so: undefined symbol:
mysqlnd_debug_init in Unknown on line 0

I assume that ext/mysqlnd/mysqlnd_debug.c needs to be added as a build
dependency of pdo_mysql if --enable-debug is set, but I am not
experienced enough with autoconf et al to figure this out exactly. 

Thanks,
Shahar.

------------------------------------------------------------------------

[2009-03-30 11:14:13] [email protected]

Are you loading the module into a PHP which has mysqlnd enabled?
Usually mysqlnd is automatically activated once another extension using
mysqlnd is being activated.

I tried the following which worked:

$ ./configure --disable-all --enable-pdo
--with-pdo-mysql=shared,mysqlnd
$ make
$ sapi/cli/php -d extension_dir=modules/ -d extension=pdo_mysql.so -m


------------------------------------------------------------------------

[2009-03-28 10:19:36] shahar dot e at zend dot com

Description:
------------
I'm putting this under PDO even though this is probably a mysqlnd/build
issue.
 
I've compiled PHP5.3.0-RC1 with --enable-debug and
--enable-pdo-mysql=mysqlnd,shared. When I try to load the PDO MySQL
extension I get this:

PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/local/lib/php/extensions/debug-non-zts-20090115/pdo_mysql.so' -
/usr/local/lib/php/extensions/debug-non-zts-20090115/pdo_mysql.so:
undefined symbol: mysqlnd_debug_init in Unknown on line 0

Some info:

PHP Version => 5.3.0RC1
System => Linux wintergreen 2.6.28-gentoo-r2 #1 PREEMPT Sun Mar 8
17:10:56 IST 2009 i686
Build Date => Mar 27 2009 14:37:12
Configure Command =>  './configure'  '--prefix=/usr/local'
'--with-apxs2' '--enable-debug' '--with-openssl' '--with-pcre-regex'
'--with-zlib' '--enable-bcmath=shared'
 '--with-bz2=shared' '--enable-calendar=shared' '--with-curl=shared'
'--with-enchant=shared' '--enable-exif=shared' '--enable-ftp=shared'
'--with-gd=shared' '--with-t
1lib' '--enable-gd-native-ttf' '--with-gettext=shared'
'--enable-intl=shared' '--enable-mbstring=shared' '--with-mcrypt=shared'
'--with-mysql=shared,mysqlnd' '--with-
mysql-sock=/var/run/mysqld/mysqld.sock' '--with-mysqli=shared,mysqlnd'
'--enable-pcntl=shared' '--with-pdo-mysql=shared,mysqlnd'
'--with-pdo-sqlite' '--with-readline'
 '--enable-soap=shared' '--enable-sockets=shared'
'--enable-sqlite-utf8' '--with-tidy=shared' '--enable-zip=shared'
'--with-pear'




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=47819&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.