Indeed. By "relocation" I mean that it was built using one stdlib and moved to the system with another one, but I agree that it's more correct to name as stdlib issue rather then relocation issue. I tried to link with libc++.so that generated by v8 build, though, no luck with it for some reason. For now using is_clang=false works fine, apart that it increases php-v8 tests run time with valgrind enabled significantly.
On Tuesday, January 2, 2018 at 7:59:48 AM UTC+2, Zac Hansen wrote: > > It's not a "relocation" issue, I'm pretty sure -- it's a stdlib issue. > It looks like the first symbol was from libc++ (the __1 gives it away) and > the second was most likely from libstdc++. <== just a guess but pretty > consistent with stuff I've seen before. > > On Monday, January 1, 2018 at 10:57:12 AM UTC-8, Bogdan Padalko wrote: >> >> Thanks Ben! This is it. It was my fault building with clang and hoping >> that the build will be relocatable. >> >> Building with GN args: >> is_debug: false, >> is_official_build: true, >> is_component_build: true, >> is_cfi: false, >> is_clang: false, >> v8_use_external_startup_data: false, >> treat_warnings_as_errors: false, >> use_custom_libcxx: false, >> use_sysroot: false, >> use_gold: false >> >> works perfect! >> >> Thank you all who's been helping me with this! Happy New Year! >> >> Regards, >> Bogdan >> >> >> >> >> On Monday, January 1, 2018 at 4:17:54 PM UTC+2, Ben Noordhuis wrote: >>> >>> On Mon, Jan 1, 2018 at 3:00 PM, Bogdan Padalko <zaq17...@gmail.com> >>> wrote: >>> > Hi Zac, thanks for the quick reply! >>> > >>> > Here's what I see in library: >>> > >>> > $ objdump -T /opt/libv8-6.5/lib/libv8_libplatform.so | grep >>> NewDefault >>> > 000000000000a850 g DF .text 000000000000012e Base >>> > >>> _ZN2v88platform18NewDefaultPlatformEiNS0_15IdleTaskSupportENS0_21InProcessStackDumpingENSt3__110unique_ptrINS_17TracingControllerENS3_14default_deleteIS5_EEEE >>> >>> >>> > >>> > >>> > and this is the error I get later when get php-v8 compiled and try to >>> load: >>> > >>> > >>> _ZN2v88platform18NewDefaultPlatformEiNS0_15IdleTaskSupportENS0_21InProcessStackDumpingESt10unique_ptrINS_17TracingControllerESt14default_deleteIS4_EE >>> >>> >>> > >>> > As you see, they differs and it looks like I missed something, but >>> couldn't >>> > grasp what and it looks like this is the cause of >>> > >>> > /home/vagrant/php-v8/scripts/test_v8/hello_world.cpp:21: undefined >>> reference >>> > to `v8::platform::NewDefaultPlatform(int, >>> v8::platform::IdleTaskSupport, >>> > v8::platform::InProcessStackDumping, >>> std::unique_ptr<v8::TracingController, >>> > std::default_delete<v8::TracingController> >)' >>> > >>> > error too. >>> > >>> > Happy New Year! >>> > Bogdan >>> >>> If you run them through c++filt, you'll see the difference: >>> >>> v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, >>> v8::platform::InProcessStackDumping, >>> std::__1::unique_ptr<v8::TracingController, >>> std::__1::default_delete<v8::TracingController> >) >>> >>> vs: >>> >>> v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, >>> v8::platform::InProcessStackDumping, >>> std::unique_ptr<v8::TracingController, >>> std::default_delete<v8::TracingController> >) >>> >>> I'm guessing one is compiled against different headers than the other >>> or with a different -std=... flag. If you built V8 with the bundled >>> clang, try rebuilding it with clang=0. >>> >> -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.