Jenkins Android构建失败 - 无法构建libwebviewchromium.so

Vla*_*ann 8 android android-source jenkins webviewchromium android-5.1.1-lollipop

需要一些建议或想法.

我正在尝试用Jenkins构建Android 5.1.1 Lollipop.但它无法构建libwebviewchromium.so:

...
out/target/product/generic/obj/GYP/shared_intermediates/blink/bindings/core/v8/V8SVGNumber.cpp:55: error: undefined reference to 'blink::SVGNumberTearOff::setValue(float, blink::ExceptionState&)'
out/target/product/generic/obj/STATIC_LIBRARIES/third_party_WebKit_Source_core_webcore_generated_gyp_intermediates/SVGElementFactory.cpp:383: error: undefined reference to 'blink::SVGMetadataElement::create(blink::Document&)'
external/chromium_org/third_party/WebKit/Source/core/svg/SVGNumberTearOff.h:45: error: undefined reference to 'blink::SVGNumberTearOff::SVGNumberTearOff(WTF::PassRefPtr<blink::SVGNumber>, blink::SVGElement*, blink::PropertyIsAnimValType, blink::QualifiedName const&)'
collect2: error: ld returned 1 exit status
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] Error 1
Run Code Online (Sandbox Code Playgroud)

同时,当我尝试手动构建它时,它成功:

. build/envsetup.sh
set_stuff_for_environment
lunch zh2_qemu_eng
make clean
make -j24
Run Code Online (Sandbox Code Playgroud)

我想知道当使用控制台时相同的操作可以成功,并且在使用Jenkins时失败.你能和我分享你的想法吗?

PS构建机器有24GB RAM和15GB交换文件,以及512 GB SSD闪存盘(62%可用).操作系统是Ubuntu 14.04LTS,64位.

$ free -m
             total       used       free     shared    buffers     cached
Mem:         24021      22079       1942         75       4778       8768
-/+ buffers/cache:       8532      15488
Swap:        16036        345      15691
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 5

我想知道当使用控制台时相同的操作可以成功,并且在使用Jenkins时失败.

因为Jenkins可能无法与同一用户(或在同一工作站上运行,如果执行作业的代理是一台单独的机器)

仔细检查以下两者之间是否存在任何环境变量差异:

例如,LD_LIBRARY_PATH差异可以解释两个构建之间的差异.

  • 除了LD_LIBRARY_PATH之外,还有其他我应该注意的环境变量吗? (2认同)
  • @VladimirLindemann查找bash会话中的环境变量列表与Jenkins作业中的环境变量列表之间的任何差异. (2认同)

Vla*_*ann 1

问题已经解决了。我们从另一台服务器复制了 Jenkins/AOSP 设置,但副本出现了问题。清理ccache解决了这个问题。执行“ccache -c”命令后,一切正常。