1. 程式人生 > >Ubuntu環境下編譯V8

Ubuntu環境下編譯V8

Ubuntu版本:14.04

關於V8

V8是Google自己開發的高效能開源的JavaScript解析引擎。

下載原始碼

原始碼地址
根據文件中的介紹,首先看depot tools是否安裝。
然後下載v8原始碼:

fetch v8

然後進行同步:

git pull origin
gclient sync

根據這個網站的提示,執行下面指令碼來安裝一些編譯android版本v8依賴的軟體包:

build/install-build-deps-android.sh

編譯

下載NDK

下載地址

配置環境變數

修改.bashrc檔案,加上:

export PATH=/******/
android-ndk-r13b:$PATH

編譯x64版本

make x64.release -j16 component=shared_library

library=shared或者component=shared_library會生成libv8.so。

進入out/x64.release目錄,執行:

./hello-world

會有Hello, World!輸出。

編譯android版本

make android_arm.release -j16 component=shared_library android_ndk_root=/home/heqiang/heqiang/android/android-ndk
-r11c

剛開始用的nkd版本是android-ndk-r12b,會報一系列的錯誤:

/home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/cpu.o:cpu.cc:function v8::base::CPUInfo::CPUInfo(): error: undefined reference to 'operator new[](unsigned int)'
/home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/cpu.o:cpu.cc:function
v8:
:base::CPUInfo::ExtractField(char const*) const: error: undefined reference to 'operator new[](unsigned int)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/cpu.o:cpu.cc:function v8::base::CPU::CPU(): error: undefined reference to 'operator delete[](void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/cpu.o:cpu.cc:function v8::base::CPU::CPU(): error: undefined reference to 'operator delete[](void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/cpu.o:cpu.cc:function v8::base::CPU::CPU(): error: undefined reference to 'operator delete[](void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/cpu.o:cpu.cc:function v8::base::CPU::CPU(): error: undefined reference to 'operator delete[](void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::basic_ios<char, std::__ndk1::char_traits<char> >::~basic_ios(): error: undefined reference to 'operator delete(void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::basic_streambuf<char, std::__ndk1::char_traits<char> >::~basic_streambuf(): error: undefined reference to 'operator delete(void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::basic_stringbuf<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::~basic_stringbuf(): error: undefined reference to 'operator delete(void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::basic_stringbuf<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::~basic_stringbuf(): error: undefined reference to 'operator delete(void*)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::enable_if<std::__ndk1::__is_forward_iterator<char*>::value, void>::type std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__init<char*>(char*, char*): error: undefined reference to 'operator new(unsigned int)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::assign(char const*, unsigned int): error: undefined reference to 'operator new(unsigned int)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace.o:stack_trace.cc:function std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__grow_by(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int): error: undefined reference to 'operator new(unsigned int)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/logging.o:logging.cc:function std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > std::__ndk1::__pad_and_output<char, std::__ndk1::char_traits<char> >(std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> >, char const*, char const*, char const*, std::__ndk1::ios_base&, char): error: undefined reference to 'operator new(unsigned int)' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/debug/stack_trace_android.o:stack_trace_android.cc:function (anonymous namespace)::TraceStackFrame(_Unwind_Context*, void*): error: undefined reference to '_Unwind_GetIP' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/platform/platform-posix.o:platform-posix.cc:function v8::base::OS::CommitPageSize(): error: undefined reference to '__cxa_guard_acquire' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/platform/platform-posix.o:platform-posix.cc:function v8::base::OS::CommitPageSize(): error: undefined reference to '__cxa_guard_release' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/platform/platform-posix.o:platform-posix.cc:vtable for v8::base::OS::MemoryMappedFile: error: undefined reference to '__cxa_pure_virtual' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/platform/platform-posix.o:platform-posix.cc:vtable for v8::base::OS::MemoryMappedFile: error: undefined reference to '__cxa_pure_virtual' /home/heqiang/heqiang/test/v8/out/android_arm.release/obj.target/v8_libbase/src/base/platform/platform-posix.o:platform-posix.cc:vtable for v8::base::Thread: error: undefined reference to '__cxa_pure_virtual' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:113: error: undefined reference to '__cxa_uncaught_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: error: undefined reference to '__cxa_decrement_exception_refcount' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:202: error: undefined reference to '__cxa_increment_exception_refcount' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:222: error: undefined reference to '__cxa_increment_exception_refcount' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:223: error: undefined reference to '__cxa_decrement_exception_refcount' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:273: error: undefined reference to '__cxa_current_primary_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:273: error: undefined reference to '__cxa_current_primary_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: error: undefined reference to '__cxa_decrement_exception_refcount' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: error: undefined reference to '__cxa_decrement_exception_refcount' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:260: error: undefined reference to 'std::terminate()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:202: error: undefined reference to '__cxa_increment_exception_refcount' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(exception.o)(.ARM.extab.text._ZNKSt16nested_exception14rethrow_nestedEv+0x0): error: undefined reference to '__gxx_personality_v0' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:292: error: undefined reference to '__cxa_rethrow_primary_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:294: error: undefined reference to 'std::terminate()' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(exception.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:typeinfo for std::nested_exception: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:276: error: undefined reference to '__cxa_allocate_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:276: error: undefined reference to '__cxa_throw' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:276: error: undefined reference to '__cxa_free_exception' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o)(.ARM.extab.text._ZNSt6__ndk18ios_base5clearEj+0x0): error: undefined reference to '__gxx_personality_v0' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o)(.ARM.extab.text._ZNSt6__ndk18ios_baseD2Ev+0x0): error: undefined reference to '__gxx_personality_v0' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:326: error: undefined reference to '__cxa_allocate_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:326: error: undefined reference to 'std::bad_alloc::bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:326: error: undefined reference to '__cxa_throw' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:335: error: undefined reference to '__cxa_allocate_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:335: error: undefined reference to 'std::bad_alloc::bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:335: error: undefined reference to '__cxa_throw' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:344: error: undefined reference to '__cxa_allocate_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:344: error: undefined reference to 'std::bad_alloc::bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:344: error: undefined reference to '__cxa_throw' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:319: error: undefined reference to 'std::bad_alloc::bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'typeinfo for std::bad_alloc' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'std::bad_alloc::~bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'typeinfo for std::bad_alloc' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'std::bad_alloc::~bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'typeinfo for std::bad_alloc' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'std::bad_alloc::~bad_alloc()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'typeinfo for std::bad_alloc' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'std::bad_alloc::~bad_alloc()' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o)(.ARM.extab.text._ZNSt6__ndk18ios_base7copyfmtERKS0_+0x0): error: undefined reference to '__gxx_personality_v0' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:883: error: undefined reference to '__cxa_begin_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:458: error: undefined reference to '__cxa_rethrow' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:888: error: undefined reference to '__cxa_end_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:895: error: undefined reference to '__cxa_begin_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:899: error: undefined reference to '__cxa_end_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:888: error: undefined reference to '__cxa_end_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:448: error: undefined reference to '__cxa_rethrow' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:899: error: undefined reference to '__cxa_end_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:458: error: undefined reference to '__cxa_rethrow' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:function __clang_call_terminate: error: undefined reference to '__cxa_begin_catch' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:function __clang_call_terminate: error: undefined reference to 'std::terminate()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:448: error: undefined reference to '__cxa_rethrow' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/istream:595: error: undefined reference to '__cxa_begin_catch' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:70: error: undefined reference to '__cxa_guard_acquire' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:70: error: undefined reference to '__cxa_guard_release' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:vtable for std::__ndk1::ios_base::failure: error: undefined reference to 'std::runtime_error::what() const' /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::ios_base::failure: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::ios_base: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::__iostream_category: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_ios<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_ios<wchar_t, std::__ndk1::char_traits<wchar_t> >: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_streambuf<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_streambuf<wchar_t, std::__ndk1::char_traits<wchar_t> >: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_istream<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_istream<wchar_t, std::__ndk1::char_traits<wchar_t> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_ostream<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /home/heqiang/heqiang/android/v8-android_tools/ndk/sources/cxx-stl//llvm-libc++/libs/armeabi-v7a/libc++_static.a(ios.o):/usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/ios.cpp:typeinfo for std::__ndk1::basic_ostream<wchar_t, std::__ndk1::char_traits<wchar_t> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:399: error: undefined reference to 'uselocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'uselocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'uselocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:52: error: undefined reference to '__cxa_guard_acquire' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:52: error: undefined reference to 'newlocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:52: error: undefined reference to '__cxa_guard_release' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:52: error: undefined reference to '__cxa_guard_abort' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:371: error: undefined reference to 'uselocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:1293: error: undefined reference to 'isxdigit_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:1299: error: undefined reference to 'isdigit_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:1293: error: undefined reference to 'isxdigit_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:1299: error: undefined reference to 'isdigit_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5508: error: undefined reference to 'freelocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5518: error: undefined reference to 'strftime_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5474: error: undefined reference to 'newlocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:58: error: undefined reference to 'newlocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5490: error: undefined reference to 'newlocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:348: error: undefined reference to 'localeconv' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'freelocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'freelocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5928: error: undefined reference to '__cxa_free_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5928: error: undefined reference to 'typeinfo for std::runtime_error' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5928: error: undefined reference to 'std::runtime_error::~runtime_error()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:348: error: undefined reference to 'localeconv' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'freelocale' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5981: error: undefined reference to '__cxa_free_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5981: error: undefined reference to 'typeinfo for std::runtime_error' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:5981: error: undefined reference to 'std::runtime_error::~runtime_error()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:348: error: undefined reference to 'localeconv' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:6051: error: undefined reference to '__cxa_free_exception' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'typeinfo for std::runtime_error' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'std::runtime_error::~runtime_error()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:348: error: undefined reference to 'localeconv' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'typeinfo for std::runtime_error' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630: error: undefined reference to 'std::runtime_error::~runtime_error()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:3679: error: undefined reference to 'catopen' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:3701: error: undefined reference to 'catgets' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:3717: error: undefined reference to 'catclose' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/locale:3701: error: undefined reference to 'catgets' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/vector:305: error: undefined reference to 'vtable for std::length_error' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/vector:305: error: undefined reference to 'typeinfo for std::length_error' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/vector:305: error: undefined reference to 'std::length_error::~length_error()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/vector:316: error: undefined reference to 'vtable for std::out_of_range' /home/heqiang/heqiang/test/v8/third_party/binutils/Linux_x64/Release/bin/ld: the vtable symbol may be undefined because the class is missing its key function /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/vector:316: error: undefined reference to 'typeinfo for std::out_of_range' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/vector:316: error: undefined reference to 'std::out_of_range::~out_of_range()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:476: error: undefined reference to '__cxa_guard_acquire' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:476: error: undefined reference to '__cxa_guard_release' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:476: error: undefined reference to '__cxa_guard_abort' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:456: error: undefined reference to 'std::bad_cast::bad_cast()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:456: error: undefined reference to 'typeinfo for std::bad_cast' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:456: error: undefined reference to 'std::bad_cast::~bad_cast()' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:492: error: undefined reference to '__cxa_guard_abort' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:703: error: undefined reference to 'strcoll_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:715: error: undefined reference to 'strxfrm_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:716: error: undefined reference to 'strxfrm_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:767: error: undefined reference to 'wcscoll_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp:779: error: undefined reference to 'wcsxfrm_l' /usr/local/google/buildbot/src/android/ndk-r12-release/ndk/sources/cx