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.

Reply via email to