|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #59683 undefined symbol: _ZdlPv when build with static V8 library
Submitted: 2011-03-24 07:43 UTC Modified: 2015-03-13 14:55 UTC
From: planetphp at gmail dot com Assigned: stesie (profile)
Status: Closed Package: v8js (PECL)
PHP Version: 5.3.5 OS: Ubuntu 10.04
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
1 + 7 = ?
Subscribe to this entry?

 [2011-03-24 07:43 UTC] planetphp at gmail dot com
Built libv8-3.0 using scons. Compiled v8js.

For more information see

Added the extension to php.ini and have the following in 

PHP Startup: Unable to load dynamic library 
'/usr/lib/php5/20090626+lfs/' - 
/usr/lib/php5/20090626+lfs/ undefined symbol: _ZdlPv 
in Unknown on line 0

Expected result:
I expected it to work

Actual result:
PHP Startup: Unable to load dynamic library 
'/usr/lib/php5/20090626+lfs/' - 
/usr/lib/php5/20090626+lfs/ undefined symbol: _ZdlPv 
in Unknown on line 0


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2011-03-25 13:22 UTC]
You didn't mention what options you used when you build v8. Unfortunately I don't have any development env available for myself right now, but this source package worked fine for the latest release I made:

Also, that missing symbol sounds like something in libstdc++. You do have that around? Try 'ldd' to see what libs it's linked with. It may be that you need to put the directory where libstdc++ is into /etc/ (or whatever it was again :)
 [2011-03-28 10:20 UTC] planetphp at gmail dot com
Thanks for your reply. I built libv8 using scons with no options.

I built using the commands: phpize, ./configure, make.

The results of ldd are:
 ldd =>  (0x001e7000) => /lib/ (0x005f5000) => /lib/tls/i686/cmov/ (0x00614000)
	/lib/ (0x00f48000)

I have libstdc++6.4.4-dev, libstdc++5, libstdc++6 installed. I do not 
know what directory libstdc++ is in. There is a file called 
/etc/ and a folder called /etc/

What do I need to do?
 [2011-03-28 13:03 UTC]
You propably need to manually link with libstdc++ since you didn't build V8 as shared. Building it as shared is better idea though..try that.
 [2011-03-29 05:02 UTC] planetphp at gmail dot com
I have now built v8 as shared and produced which I 
have copied into /usr/lib. When I run make test on v8js I 
still get the error with the undefined symbol _ZdlPv. How 
would I manually link with libstdc++?
 [2011-03-29 08:57 UTC]
Okay, now check what that was linked with (ldd and same for the new you created. Make sure you're loading the correct extension btw. I don't know why it doesn't work for you, it worked fine for me and couple of dozen others. I was using CentOS 5 though with that RPM I provided url to..
 [2011-03-29 11:29 UTC] planetphp at gmail dot com
Here is the results of ldd for both files:

ldd =>  (0x00883000) => /lib/tls/i686/cmov/ (0x00377000) => /usr/lib/ (0x00110000) => /lib/tls/i686/cmov/ (0x00206000) => /lib/ (0x0022c000) => /lib/tls/i686/cmov/ (0x00e23000)
	/lib/ (0x00dca000)

ldd =>  (0x003d6000) => /lib/ (0x00504000) => /lib/tls/i686/cmov/ (0x006e4000)
	/lib/ (0x00e4e000)

I tried to convert the rpm to a deb file using alien but it failed. I will try and setup a 
CentOS machine to build this on and will also try to build it on windows too. Thanks for your 
 [2011-03-29 12:45 UTC]
Apparently that still isn't linked with the shared lib, did you remember to remove the static libv8.a before recompiling v8js?
 [2011-03-30 05:30 UTC] planetphp at gmail dot com
I had forgotten to remove libv8.a and once I had removed 
this, v8js successfully built! Thanks so much for your work 
and your help :)
 [2011-03-30 11:55 UTC]
Ok. I'll leave this report open as building v8js with static libv8 should work as well..
 [2015-03-13 14:55 UTC]
-Status: Analyzed +Status: Closed -Assigned To: +Assigned To: stesie
 [2015-03-13 14:55 UTC]
> Ok. I'll leave this report open as building v8js with static libv8 should work as well..

A dynamically linked PHP extension will never work if compiled against static (non-PIC) libv8; closing now.
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Tue Jan 18 16:03:13 2022 UTC