phpv8 / v8js

V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
http://pecl.php.net/package/v8js
MIT License
1.84k stars 200 forks source link

Symbol not found: __ZN2v88platform21CreateDefaultPlatformEi on MacOS #231

Closed bedokuroff closed 8 years ago

bedokuroff commented 8 years ago

Hi! V8js itself seems to be building, but when I try to do 'make tests', I encounter this:

dyld: lazy symbol binding failed: Symbol not found: __ZN2v88platform21CreateDefaultPlatformEi Referenced from: /tmp/v8js/modules/v8js.so Expected in: flat namespace

dyld: Symbol not found: __ZN2v88platform21CreateDefaultPlatformEi Referenced from: /tmp/v8js/modules/v8js.so Expected in: flat namespace

I use locally built V8 engine v.4.9.385.28. On VBOX with Linux the same build order works fine. I'm trying to build php7 version of V8JS.

The similar question is asked in #141 but the issue is closed...

stesie commented 8 years ago

Could you please re-check with either current Git HEAD or last V8Js release 1.3.0!?

The build system is expected to link against two object archives (libv8_libplatform.a and libv8_libbase.a) on MacOS -- and I accidentaly introduced a bug that it linked only against the latter. This was with V8Js 0.6.0 (and fixed with 0.6.1), ... the fix however only merged to php7 branch last weekend.

That's the commit that should fix it: https://github.com/phpv8/v8js/commit/28a5832f230fb2f03a3533ff68ea1d42f2e9857b

bedokuroff commented 8 years ago

Confirmed, with the fix from mentioned commit this one totally works - all needed tests are passing.