Fixed.
So it turns out it was a matter of the order of the libs handed to the
linker.
Assuming after compilation different libs are created for base, platform,
etc, the correct order in the .mk should be:
1. base
- (external_snapshot, snapshot) or (nosnapshot) depending on your
needs
2. libplatform
3. libbase
4. libsampler
With this, all linker symbols are found correctly:
LOCAL_STATIC_LIBRARIES := v8_base v8_nosnapshot v8_libplatform v8_libbase
v8_libsampler
Thanks.
El martes, 1 de noviembre de 2016, 21:06:37 (UTC+1), ibon tolosana escribió:
>
> Hi Rodolph,
>
> yes, I did follow that instructions.
> What surprises me most is that v8::base::SysInfo::NumberOfProcessors
> exists on the libv8_libplatform.a, but the linker seems to pass on it.
>
> I fixed by defining the symbol myself though.
> Thanks.
>
> - ibon
>
> El domingo, 30 de octubre de 2016, 0:47:22 (UTC+2), Rodolph Perfetta
> escribió:
>>
>> I see. I don't have experience with Android builds but have you checked
>> the wiki: https://github.com/v8/v8/wiki/D8%20on%20Android
>>
>> Rodolph
>>
>> On Fri, 28 Oct 2016 at 22:15 ibon tolosana <[email protected]> wrote:
>>
>>> Hi Rodolph, sorry, I did not explain myself properly.
>>> I compiled for pi successfully. As a different compilation. Nothing to
>>> do with this.
>>>
>>> Now i try to compile v8 for android.
>>> And i get that missing symbol.
>>>
>>> Sorry for the misunderstanding.
>>>
>>> thanks.
>>>
>>>
>>> El viernes, 28 de octubre de 2016, 20:48:19 (UTC+2), Rodolph Perfetta
>>> escribió:
>>>
>>>> Hi,
>>>>
>>>> I am not sure I follow what you are doing: if your cross compilation
>>>> was successful why do you need to build and link mksnapshot again?
>>>> Secondly
>>>> cross compiling for raspberry will target arm linux, but the lines you
>>>> posted reference android_arm. Did you intend to mix both target?
>>>>
>>>> Rodolph
>>>>
>>>> On Fri, 28 Oct 2016 at 12:12 ibon tolosana <[email protected]> wrote:
>>>>
>>> Hi,
>>>>>
>>>>> after successfully cross-compiling v8 for raspberry I am getting a
>>>>> linker error on both ubuntu16.04 and and CentOS 7.2.
>>>>> I am getting this:
>>>>>
>>>>> CXX(host)
>>>>> /data/build/v8/out/android_arm.release/obj.host/mksnapshot/src/snapshot/mksnapshot.o
>>>>> LINK(host) /data/build/v8/out/android_arm.release/mksnapshot
>>>>> /data/build/v8/out/android_arm.release/obj.host/src/libv8_libplatform.a(/data/build/v8/out/android_arm.release/obj.host/v8_libplatform/src/libplatform/default-platform.o):../src/libplatform/default-platform.cc:function
>>>>>
>>>>> v8::platform::CreateDefaultPlatform(int): error: *undefined reference
>>>>> to 'v8::base::SysInfo::NumberOfProcessors()*'
>>>>> /data/build/v8/out/android_arm.release/obj.host/src/libv8_libplatform.a(/data/build/v8/out/android_arm.release/obj.host/v8_libplatform/src/libplatform/default-platform.o):../src/libplatform/default-platform.cc:function
>>>>>
>>>>> v8::platform::DefaultPlatform::SetThreadPoolSize(int): error: *undefined
>>>>> reference to 'v8::base::SysInfo::NumberOfProcessors()*'
>>>>>
>>>>> I have checked
>>>>> /v8/out/android_arm.release/obj.host/v8_libbase/src/base/sys-info.o
>>>>> and NumberOfProcessors function is there.
>>>>> I have extracted sys-info.o from libv8_libbase.a and made sure
>>>>> NumberOfProcessors is referenced there, but the linker get undefined
>>>>> reference.
>>>>>
>>>>> Since the snapshot is not important to me, I have tried to link with
>>>>> libv8_base.a libv8_libbase.a libv8_libplatform libv8_libsampler.a and
>>>>> libv8_nosnapshot.a (instead of external snapshot) but i get the same
>>>>> undefined referenced symbol.
>>>>>
>>>>> any ideas ?
>>>>> help please ^^
>>>>>
>>>>> thanks.
>>>>>
>>>>> - i
>>>>>
>>>>> --
>>>>> --
>>>>> v8-users mailing list
>>>>>
>>>> [email protected]
>>>>
>>>>
>>>>> 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 [email protected].
>>>>
>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> --
>>> v8-users mailing list
>>> [email protected]
>>> 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 [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
--
--
v8-users mailing list
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.