It looks like you've not linked in the c++ library to your application
along with the V8 libraries.  You need to link libstlport into your Android
app alongside the v8 libraries.  See:
http://www.kandroid.org/ndk/docs/CPLUSPLUS-SUPPORT.htmlfor details.

Cheers,
Ross


On 9 March 2014 02:59, Brian Bosak <[email protected]> wrote:

> Hi. I've tried to compile a static library version of v8 for Android with
> the following command:
> make android_arm.release ANDROID_NDK_ROOT=~/Desktop/android-ndk-r9d/
> component=static_library -j32
> This produced the following archive files which I linked to in my Android
> project:
> libicui18n.a
> libicuuc.a
> libicudata.a
> libv8_base.a
> libv8_snapshot.a
>
> However, when compiling, I get numerous linking errors as shown below:
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/default-platform.o):
> in function
> v8::internal::DefaultPlatform::~DefaultPlatform():default-platform.cc(.text._ZN2v88internal15DefaultPlatformD2Ev+0xc8):
> error: undefined reference to 'std::__node_alloc::_M_deallocate(void*,
> unsigned int)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/default-platform.o):
> in function std::priv::_Impl_vector<void*, std::allocator<void*>
> >::_M_compute_next_size(unsigned
> int):default-platform.cc(.text._ZNSt4priv12_Impl_vectorIPvSaIS1_EE20_M_compute_next_sizeEj+0x58):
> error: undefined reference to 'std::__stl_throw_length_error(char const*)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/default-platform.o):
> in function std::priv::_Impl_vector<void*, std::allocator<void*>
> >::_M_insert_overflow(void**, void* const&, std::__true_type const&,
> unsigned int,
> bool):default-platform.cc(.text._ZNSt4priv12_Impl_vectorIPvSaIS1_EE18_M_insert_overflowEPS1_RKS1_RKSt11__true_typejb+0x4c):
> error: undefined reference to 'std::__node_alloc::_M_allocate(unsigned
> int&)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/default-platform.o):
> in function std::priv::_Impl_vector<void*, std::allocator<void*>
> >::_M_insert_overflow(void**, void* const&, std::__true_type const&,
> unsigned int,
> bool):default-platform.cc(.text._ZNSt4priv12_Impl_vectorIPvSaIS1_EE18_M_insert_overflowEPS1_RKS1_RKSt11__true_typejb+0xcc):
> error: undefined reference to 'std::__node_alloc::_M_deallocate(void*,
> unsigned int)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/task-queue.o):
> in function std::priv::_Deque_base<void*, std::allocator<void*>
> >::~_Deque_base():task-queue.cc(.text._ZNSt4priv11_Deque_baseIPvSaIS1_EED2Ev+0x38):
> error: undefined reference to 'std::__node_alloc::_M_deallocate(void*,
> unsigned int)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/task-queue.o):
> in function std::priv::_Deque_base<void*, std::allocator<void*>
> >::~_Deque_base():task-queue.cc(.text._ZNSt4priv11_Deque_baseIPvSaIS1_EED2Ev+0x60):
> error: undefined reference to 'std::__node_alloc::_M_deallocate(void*,
> unsigned int)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/task-queue.o):
> in function std::priv::_Deque_base<void*, std::allocator<void*>
> >::_M_initialize_map(unsigned
> int):task-queue.cc(.text._ZNSt4priv11_Deque_baseIPvSaIS1_EE17_M_initialize_mapEj+0x3c):
> error: undefined reference to 'std::__node_alloc::_M_allocate(unsigned
> int&)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/task-queue.o):
> in function std::priv::_Deque_base<void*, std::allocator<void*>
> >::_M_initialize_map(unsigned
> int):task-queue.cc(.text._ZNSt4priv11_Deque_baseIPvSaIS1_EE17_M_initialize_mapEj+0x70):
> error: undefined reference to 'std::__node_alloc::_M_allocate(unsigned
> int&)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libv8_base.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/v8_base.arm/src/libplatform/task-queue.o):
> in function std::priv::_Impl_deque<void*, std::allocator<void*>
> >::_M_reallocate_map(unsigned int,
> bool):task-queue.cc(.text._ZNSt4priv11_Impl_dequeIPvSaIS1_EE17_M_reallocate_mapEjb+0xb0):
> error: undefined reference to 'std::__node_alloc::_M_allocate(unsigned
> int&)'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function icu_46::Calendar::isEquivalentTo(icu_46::Calendar const&)
> const:calendar.cpp(.text._ZNK6icu_468Calendar14isEquivalentToERKS0_+0x1c):
> error: undefined reference to 'std::type_info::operator==(std::type_info
> const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function icu_46::CalendarService::cloneInstance(icu_46::UObject*)
> const:calendar.cpp(.text._ZNK6icu_4615CalendarService13cloneInstanceEPNS_7UObjectE+0x24):
> error: undefined reference to '__dynamic_cast'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function icu_46::Calendar::createInstance(icu_46::TimeZone*,
> icu_46::Locale const&, UErrorCode&) [clone
> .part.13]:calendar.cpp(.text._ZN6icu_468Calendar14createInstanceEPNS_8TimeZoneERKNS_6LocaleER10UErrorCode.part.13+0xfc):
> error: undefined reference to '__dynamic_cast'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function icu_46::Calendar::createInstance(icu_46::TimeZone*,
> icu_46::Locale const&, UErrorCode&) [clone
> .part.13]:calendar.cpp(.text._ZN6icu_468Calendar14createInstanceEPNS_8TimeZoneERKNS_6LocaleER10UErrorCode.part.13+0x1ec):
> error: undefined reference to '__dynamic_cast'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function typeinfo for
> icu_46::BasicCalendarFactory:calendar.cpp(.data.rel.ro._ZTIN6icu_4620BasicCalendarFactoryE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function typeinfo for
> icu_46::DefaultCalendarFactory:calendar.cpp(.data.rel.ro._ZTIN6icu_4622DefaultCalendarFactoryE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function typeinfo for
> icu_46::CalendarService:calendar.cpp(.data.rel.ro._ZTIN6icu_4615CalendarServiceE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/calendar.o):
> in function typeinfo for
> icu_46::Calendar:calendar.cpp(.data.rel.ro._ZTIN6icu_468CalendarE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/coll.o):
> in function icu_46::Collator::createUCollator(char const*,
> UErrorCode*):coll.cpp(.text._ZN6icu_468Collator15createUCollatorEPKcP10UErrorCode+0xc4):
> error: undefined reference to '__dynamic_cast'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/dtptngen.o):
> in function typeinfo for
> icu_46::UMemory:dtptngen.cpp(.data.rel.ro._ZTIN6icu_467UMemoryE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/format.o):
> in function icu_46::Format::operator==(icu_46::Format const&)
> const:format.cpp(.text._ZNK6icu_466FormateqERKS0_+0x14): error: undefined
> reference to 'std::type_info::operator==(std::type_info const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/measure.o):
> in function icu_46::Measure::operator==(icu_46::UObject const&)
> const:measure.cpp(.text._ZNK6icu_467MeasureeqERKNS_7UObjectE+0x1c): error:
> undefined reference to 'std::type_info::operator==(std::type_info const&)
> const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/rbnf.o):
> in function icu_46::RuleBasedNumberFormat::operator==(icu_46::Format
> const&)
> const:rbnf.cpp(.text._ZNK6icu_4621RuleBasedNumberFormateqERKNS_6FormatE+0x28):
> error: undefined reference to 'std::type_info::operator==(std::type_info
> const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/selfmt.o):
> in function icu_46::SelectFormat::operator==(icu_46::Format const&)
> const:selfmt.cpp(.text._ZNK6icu_4612SelectFormateqERKNS_6FormatE+0x24):
> error: undefined reference to 'std::type_info::operator!=(std::type_info
> const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/tblcoll.o):
> in function icu_46::RuleBasedCollator::operator==(icu_46::Collator const&)
> const:tblcoll.cpp(.text._ZNK6icu_4617RuleBasedCollatoreqERKNS_8CollatorE+0x34):
> error: undefined reference to 'std::type_info::operator!=(std::type_info
> const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/tzrule.o):
> in function
> icu_46::InitialTimeZoneRule::isEquivalentTo(icu_46::TimeZoneRule const&)
> const:tzrule.cpp(.text._ZNK6icu_4619InitialTimeZoneRule14isEquivalentToERKNS_12TimeZoneRuleE+0x28):
> error: undefined reference to 'std::type_info::operator!=(std::type_info
> const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/tzrule.o):
> in function icu_46::AnnualTimeZoneRule::operator==(icu_46::TimeZoneRule
> const&)
> const:tzrule.cpp(.text._ZNK6icu_4618AnnualTimeZoneRuleeqERKNS_12TimeZoneRuleE+0x28):
> error: undefined reference to 'std::type_info::operator!=(std::type_info
> const&) const'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/ucal.o):
> in function
> ucal_setGregorianChange_46:ucal.cpp(.text.ucal_setGregorianChange_46+0x80):
> error: undefined reference to '__cxa_bad_typeid'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicui18n.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icui18n/third_party/icu/source/i18n/ucal.o):
> in function
> ucal_getGregorianChange_46:ucal.cpp(.text.ucal_getGregorianChange_46+0x78):
> error: undefined reference to '__cxa_bad_typeid'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicuuc.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icuuc/third_party/icu/source/common/rbbistbl.o):
> in function typeinfo for
> icu_46::RBBISymbolTable:rbbistbl.cpp(.data.rel.ro._ZTIN6icu_4615RBBISymbolTableE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicuuc.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icuuc/third_party/icu/source/common/uniset.o):
> in function typeinfo for
> icu_46::SymbolTable:uniset.cpp(.data.rel.ro._ZTIN6icu_4611SymbolTableE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicuuc.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icuuc/third_party/icu/source/common/unifilt.o):
> in function typeinfo for
> icu_46::UnicodeFilter:unifilt.cpp(.data.rel.ro._ZTIN6icu_4613UnicodeFilterE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
> /home/brian/Desktop/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
> jni/libicuuc.a(/home/brian/Desktop/android-v8/v8/out/android_arm.release/obj.target/icuuc/third_party/icu/source/common/unifilt.o):
> in function typeinfo for
> icu_46::UnicodeMatcher:unifilt.cpp(.data.rel.ro._ZTIN6icu_4614UnicodeMatcherE+0x0):
> error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
>
> Any suggestions?
>
> Thanks,
>
>
> - Brian Bosak
>
> --
> --
> 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.

Reply via email to