Ошибка сборки libwebviewchromium.so при компиляции Android на Mac

У меня проблемы с компиляцией Android в OS X Mavericks 10.9.3. Я не внес никаких изменений в источник.

Инициализируя среду сборки, я делаю:

repo init -b master
repo sync
repo forall -vc "git reset --hard"lunch vbox_x86-eng

И результат make является: http://pastebin.com/nk0Sudgx

Я получаю много неопределенных ссылок на что-то под названием WebCore

target SharedLib: libwebviewchromium (out/target/product/vbox_x86/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so)
/Volumes/Android/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.8/bin/../lib/gcc/x86_64-linux-android/4.8/../../../../x86_64-linux-android/bin/ld.gold: warning: hidden symbol 'SkBitmap::lockPixels() const' in out/target/product/vbox_x86/obj/STATIC_LIBRARIES/skia_skia_library_gyp_intermediates/skia_skia_library_gyp.a(SkBitmap.o) is referenced by DSO out/target/product/vbox_x86/obj/lib/libjnigraphics.so
out/target/product/vbox_x86/obj/GYP/shared_intermediates/blink/bindings/V8WebGLRenderingContext.cpp:2811: error: undefined reference to 'WebCore::WebGLRenderingContextBase::useProgram(WebCore::WebGLProgram*)'

[ ... ]

out/target/product/vbox_x86/obj/GYP/shared_intermediates/blink/bindings/V8WebGLRenderingContext.cpp:1543: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getShaderPrecisionFormat(unsigned int, unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:471: error: undefined reference to 'WebCore::WebGLRenderingContextBase::isContextLost() const'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:788: error: undefined reference to 'WebCore::WebGLRenderingContextBase::uniformMatrix4fv(WebCore::WebGLUniformLocation const*, unsigned char, WTF::Float32Array*)'

[ ... ]

external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:410: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getParameter(unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:434: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getProgramParameter(WebCore::WebGLProgram*, unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:464: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getShaderParameter(WebCore::WebGLShader*, unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:516: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getUniform(WebCore::WebGLProgram*, WebCore::WebGLUniformLocation const*)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:299: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getBufferParameter(unsigned int, unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:309: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getVertexAttrib(unsigned int, unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:302: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getRenderbufferParameter(unsigned int, unsigned int)'
external/chromium_org/third_party/WebKit/Source/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:305: error: undefined reference to 'WebCore::WebGLRenderingContextBase::getTexParameter(unsigned int, unsigned int)'
external/chromium_org/third_party/WebKit/Source/core/html/canvas/ANGLEInstancedArrays.cpp:75: error: undefined reference to 'WebCore::WebGLRenderingContextBase::drawArraysInstancedANGLE(unsigned int, int, int, int)'
external/chromium_org/third_party/WebKit/Source/core/html/canvas/ANGLEInstancedArrays.cpp:83: error: undefined reference to 'WebCore::WebGLRenderingContextBase::drawElementsInstancedANGLE(unsigned int, int, unsigned int, long long, int)'
external/chromium_org/third_party/WebKit/Source/core/html/canvas/ANGLEInstancedArrays.cpp:91: error: undefined reference to 'WebCore::WebGLRenderingContextBase::vertexAttribDivisorANGLE(unsigned int, unsigned int)'
external/chromium_org/third_party/WebKit/Source/core/html/canvas/OESVertexArrayObject.cpp:63: error: undefined reference to 'WebCore::WebGLRenderingContextBase::addContextObject(WebCore::WebGLContextObject*)'
external/chromium_org/third_party/WebKit/Source/core/html/canvas/WebGLVertexArrayObjectOES.cpp:57: error: undefined reference to 'WebCore::WebGLContextObject::~WebGLContextObject()'
external/chromium_org/third_party/WebKit/Source/core/html/canvas/WebGLVertexArrayObjectOES.cpp:43: error: undefined reference to 'WebCore::WebGLContextObject::WebGLContextObject(WebCore::WebGLRenderingContextBase*)'
out/target/product/vbox_x86/obj/STATIC_LIBRARIES/third_party_WebKit_Source_core_webcore_html_gyp_intermediates/third_party_WebKit_Source_core_webcore_html_gyp.a(WebGLVertexArrayObjectOES.o):WebGLVertexArrayObjectOES.cpp:vtable for WebCore::WebGLVertexArrayObjectOES: error: undefined reference to 'WebCore::WebGLContextObject::getAWebGraphicsContext3D() const'
collect2: error: ld returned 1 exit status
make: *** [out/target/product/vbox_x86/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] Error 1

Это похоже на ошибку компоновщика, но я не знаю причину. Есть идеи?

1

Решение

Причиной может быть тот факт, что вам не хватает оперативного пространства. Вот нить из XDA (http://forum.xda-developers.com/showthread.php?t=2585207) попробуйте увеличить Ram, если вы находитесь на виртуальной машине или создаете раздел подкачки Linux, а также убедитесь, что вы выбрали xcode-5.0.2 для этой загрузки Xcode 5 с Developer.appple.com, а затем поместите его в папку приложения как Xcode -5.0.2.app, а затем запустить

sudo xcode-select —switch /Applications/Xcode-5.0.2.app/Contents/Developer/

1

Другие решения