php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #60840 undefined symbol: mysqlnd_debug_std_no_trace_funcs
Submitted: 2012-01-22 18:58 UTC Modified: 2013-02-19 23:31 UTC
Votes:16
Avg. Score:4.4 ± 0.8
Reproduced:13 of 13 (100.0%)
Same Version:12 (92.3%)
Same OS:6 (46.2%)
From: public at grik dot net Assigned: mysql (profile)
Status: Closed Package: PDO related
PHP Version: 5.4SVN-2012-01-22 (snap) OS: linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: public at grik dot net
New email:
PHP Version: OS:

 

 [2012-01-22 18:58 UTC] public at grik dot net
Description:
------------
I built PHP 5.4 from sources in debug mode with pdo_mysql extension as shared,
compiled successfully, but when I starting php I get the startup warning.

My configure command:

'./configure' \
'--prefix=/usr/local' \
'--sysconfdir=/etc' \
'--with-config-file-path=/etc' \
'--with-mysql=shared,mysqlnd' \
'--with-mysqli=shared,mysqlnd' \
'--with-pdo-mysql=shared,mysqlnd' \
--enable-fpm \
--enable-debug



Test script:
---------------
just running from command line


Actual result:
--------------
# php

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

Patches

bug60840.diff (last revision 2013-02-19 23:35 UTC by johannes@php.net)

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-01-22 19:36 UTC] rasmus@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: uw
 [2012-01-22 20:02 UTC] public at grik dot net
I tried to compile without mysqlnd driver:
# cd ext/pdo_mysql
# ./configure --with-pdo-mysql=/usr
checking for mysql_config... /usr/bin/mysql_config
# make; make install
#php
undefined symbol: mysqlnd_debug_std_no_trace_funcs

same issue, even when mysqlnd is not used
 [2012-04-03 05:46 UTC] luiz dot fk at gmail dot com
Hi... same here:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/extensions/debug-non-zts-20100525/pdo_mysql.so' - /usr/lib64/extensions/debug-non-zts-20100525/pdo_mysql.so: undefined symbol: mysqlnd_debug_std_no_trace_funcs in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/extensions/debug-non-zts-20100525/pdo_mysql.so' - /usr/lib64/extensions/debug-non-zts-20100525/pdo_mysql.so: undefined symbol: mysqlnd_debug_std_no_trace_funcs in Unknown on line 0
 [2012-05-02 09:30 UTC] uw@php.net
-Assigned To: uw +Assigned To: mysql
 [2012-05-02 09:30 UTC] uw@php.net
Don't assign to individuals if you mean "mysql".
 [2012-06-14 09:32 UTC] fausten at pw-internet dot de
Hi, same problem here:

# cd /usr/ports/database/php5-pdo_mysql && make install clean

Build is successfully.

% php foo.php

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20100525-debug/pdo_mysql.so' - /usr/local/lib/php/20100525-debug/pdo_mysql.so: Undefined symbol "mysqlnd_debug_std_no_trace_funcs" in Unknown on line 0

OS: FreeBSD 9.0 amd64
PHP: 5.4.3 builded from ports (# cd /usr/ports/lang/php5 %% make install clean)
 [2012-06-14 09:41 UTC] johannes@php.net
When building the MySQL extensions you explicitly have to enable mysqlnd. i.e. --enable-mysqlnd=shared. If you build mysqlnd shared you have to remember to load it, too.

I will look whether the build system can be made smarter and at least warn. I don't want to make the decision in there whether to build shared or static. If I'd make that decision I'd default to static mysqlnd.
 [2012-06-14 09:57 UTC] fausten at pw-internet dot de
Hi,

the package is going to build with mysqlnd by default:

# cd /usr/ports/databases/php5-pdo_mysql && make config

MYSQLND - Use MySQL Native Driver (Is selected by default)

# make install clean

After installation:

The following line has been added to your /usr/local/etc/php/extensions.ini
configuration file to automatically load the installed extension:

extension=pdo_mysql.so

So the extension sholud be loaded after restarting php.
 [2012-06-14 10:03 UTC] public at grik dot net
Johannes, thanks for the response, but according to http://php.net/ChangeLog-5.php
"ext/mysql, mysqli and pdo_mysql now use mysqlnd by default." in 5.4

So the issues are:
1. Why should we explicitly enable the feature used by default?
2. How can we NOT use mysqlnd in debug mode, if it issues an error for missing 
mysqlnd_debug_std_no_trace_funcs?
 [2012-10-29 16:03 UTC] johannes@php.net
public at grik dot net,

the issue is when building the extensions shared we can't decide what to do with mysqlnd, should that be built-in or shared, too? Or maybe the user has a different mysqlnd? - We leave this to the user.
 [2012-10-29 16:03 UTC] johannes@php.net
-Status: Assigned +Status: Not a bug
 [2013-02-19 23:31 UTC] johannes@php.net
-Status: Not a bug +Status: Open
 [2013-02-19 23:35 UTC] johannes@php.net
The following patch has been added/updated:

Patch Name: bug60840.diff
Revision:   1361316955
URL:        https://bugs.php.net/patch-display.php?bug=60840&patch=bug60840.diff&revision=1361316955
 [2013-02-21 15:52 UTC] johannes@php.net
-Status: Assigned +Status: Closed
 [2013-02-21 15:52 UTC] johannes@php.net
Automatic comment on behalf of johannes@schlueters.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=064c62e4cf078cf08a40478dfe0e64bd51789e57
Log: Fix #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs)
 [2014-10-07 23:20 UTC] stas@php.net
Automatic comment on behalf of johannes@schlueters.de
Revision: http://git.php.net/?p=php-src-security.git;a=commit;h=064c62e4cf078cf08a40478dfe0e64bd51789e57
Log: Fix #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs)
 [2014-10-07 23:31 UTC] stas@php.net
Automatic comment on behalf of johannes@schlueters.de
Revision: http://git.php.net/?p=php-src-security.git;a=commit;h=064c62e4cf078cf08a40478dfe0e64bd51789e57
Log: Fix #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs)
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 11:01:29 2024 UTC