|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2014-11-20 21:37 UTC] stesie at brokenpipe dot de
[2015-03-13 15:01 UTC] stesie@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: stesie
[2015-03-13 15:01 UTC] stesie@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 07:00:02 2025 UTC |
Description: ------------ Minimal not-working example: <?php $v8=new V8Js(); ?> I'm getting following error when running this: php: symbol lookup error: /usr/lib64/php5/extensions/v8js.so: undefined symbol: _ZN2v811HandleScopeC1Ev $ ldd /usr/lib64/php5/extensions/v8js.so linux-vdso.so.1 (0x00007fff8f370000) libv8.so.3 => /usr/lib64/libv8.so.3 (0x00007fde5ca5e000) [...] I was sure that it is about libv8.so, so I did an objdump -t on it, which yielded nothing. Installing the corresponding debuginfo package, I have a file /usr/lib/debug/usr/lib64/libv8.so.3.debug. $ objdump -t /usr/lib/debug/usr/lib64/libv8.so.3.debug | grep _ZN2v811HandleScopeC1Ev 000000000022afc0 g F .text 000000000000001e _ZN2v811HandleScopeC1Ev As a side note, unmangling the symbol yields "v8::HandleScope::HandleScope()". Running this script under ltrace, grep'ping dlopen() calls, it shows that all files in /usr/lib64/php5/extensions/ are opened, but not /usr/lib64/libv8.so.3, but this is probably normal, because the latter is subject to be loaded on behalf of a library routine already (doesn't show how libxml2 is loaded for dom.so, too). (And same with dlsym(), of course.) Passing "-l v8js.so" to ltrace as well gives the following two lines only: v8js.so->_ZN18_zend_v8js_globalsC1Ev(0x7feee1d13720, 0xffff, 0x7fff729ed830, 0x7feef374d2f0) = 0x7feee1d13730 v8js.so->_ZN2v822ExtensionConfigurationC1EiPPKc(0x7fff729e9c30, 0, 0, 0) = 0x7fff729e9c30 Test script: --------------- See above; the error first appeared in a bigger script, but even stripping it down to nothing except creation of a V8Js instance triggers this buggy behaviour.