New issue
Advanced search Search tips

Issue 610145 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner: ----
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Failure to compile Android x86 with GYP

Project Member Reported by kjellander@chromium.org, May 8 2016

Issue description

Goma fails to compile in the range of Chromium revisions between
https://chromium.googlesource.com/chromium/src/+log/a32daec771..212a05f541

I found this by comparing CLs:
https://codereview.webrtc.org/1957453002/ - last green: a32daec771 (#391841)
https://codereview.webrtc.org/1957533004/ - first red: 212a05f541 (#391986)
(those CLs are autoroll-CLs for WebRTC; we have been blocked for a while due to several issues, since I've been OOO).

The error looks like this:
FAILED: lib/libjingle_peerconnection_so.so lib/libjingle_peerconnection_so.so.TOC 
if [ ! -e lib/libjingle_peerconnection_so.so -o ! -e lib/libjingle_peerconnection_so.so.TOC ]; then /b/build/goma/gomacc /b/build/slave/android_x86/build/src/third_party/android_tools/ndk//toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-g++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -Wl,-z,defs -Wl,-z,noexecstack -fPIC -B/b/build/slave/android_x86/build/src/third_party/binutils/Linux_x64/Release/bin -m32 -fuse-ld=gold -Wl,--build-id=sha1 -Wl,--no-undefined --sysroot=../../third_party/android_tools/ndk//platforms/android-16/arch-x86 -nostdlib -L../../third_party/android_tools/ndk//sources/cxx-stl/llvm-libc++/libs/x86 -Wl,--exclude-libs=libgcc.a -Wl,--exclude-libs=libc++_static.a -Wl,--exclude-libs=libcommon_audio.a -Wl,--exclude-libs=libcommon_audio_neon.a -Wl,--exclude-libs=libcommon_audio_sse2.a -Wl,--exclude-libs=libiSACFix.a -Wl,--exclude-libs=libisac_neon.a -Wl,--exclude-libs=libopus.a -Wl,--exclude-libs=libvpx.a -Wl,-shared,-Bsymbolic ../../third_party/android_tools/ndk//platforms/android-16/arch-x86/usr/lib/crtbegin_so.o -Wl,--warn-shared-textrel -Wl,-O1 -Wl,--as-needed -o lib/libjingle_peerconnection_so.so -Wl,-soname=libjingle_peerconnection_so.so @lib/libjingle_peerconnection_so.so.rsp && { readelf -d lib/libjingle_peerconnection_so.so | grep SONAME ; nm -gD -f p lib/libjingle_peerconnection_so.so | cut -f1-2 -d' '; } > lib/libjingle_peerconnection_so.so.TOC; else /b/build/goma/gomacc /b/build/slave/android_x86/build/src/third_party/android_tools/ndk//toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-g++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -Wl,-z,defs -Wl,-z,noexecstack -fPIC -B/b/build/slave/android_x86/build/src/third_party/binutils/Linux_x64/Release/bin -m32 -fuse-ld=gold -Wl,--build-id=sha1 -Wl,--no-undefined --sysroot=../../third_party/android_tools/ndk//platforms/android-16/arch-x86 -nostdlib -L../../third_party/android_tools/ndk//sources/cxx-stl/llvm-libc++/libs/x86 -Wl,--exclude-libs=libgcc.a -Wl,--exclude-libs=libc++_static.a -Wl,--exclude-libs=libcommon_audio.a -Wl,--exclude-libs=libcommon_audio_neon.a -Wl,--exclude-libs=libcommon_audio_sse2.a -Wl,--exclude-libs=libiSACFix.a -Wl,--exclude-libs=libisac_neon.a -Wl,--exclude-libs=libopus.a -Wl,--exclude-libs=libvpx.a -Wl,-shared,-Bsymbolic ../../third_party/android_tools/ndk//platforms/android-16/arch-x86/usr/lib/crtbegin_so.o -Wl,--warn-shared-textrel -Wl,-O1 -Wl,--as-needed -o lib/libjingle_peerconnection_so.so -Wl,-soname=libjingle_peerconnection_so.so @lib/libjingle_peerconnection_so.so.rsp && { readelf -d lib/libjingle_peerconnection_so.so | grep SONAME ; nm -gD -f p lib/libjingle_peerconnection_so.so | cut -f1-2 -d' '; } > lib/libjingle_peerconnection_so.so.tmp && if ! cmp -s lib/libjingle_peerconnection_so.so.tmp lib/libjingle_peerconnection_so.so.TOC; then mv lib/libjingle_peerconnection_so.so.tmp lib/libjingle_peerconnection_so.so.TOC ; fi; fi
/b/build/slave/android_x86/build/src/third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: shared library text segment is not shareable
/b/build/slave/android_x86/build/src/third_party/binutils/Linux_x64/Release/bin/ld.gold: error: treating warnings as errors
collect2: error: ld returned 1 exit status
...
ninja: build stopped: subcommand failed.

Examples:
https://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg/builds/3793/steps/compile/logs/stdio
https://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg/builds/3792/steps/compile/logs/stdio


There are almost no WebRTC CLs in the delta:
https://chromium.googlesource.com/external/webrtc/+log/39a36705ab734914d500b8a0f214ea630d82ab70..3a334656de92eb2ab3dd688a1bd70f0db3535f85
and I don't think they're causing this.
(I found these hashes by comparing https://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg/builds/3725 and https://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg/builds/3736).

There is a Clang update that gets rolled in:
https://chromium.googlesource.com/chromium/src/+/58963e5878..212a05f541/tools/clang/scripts/update.py
could that be what's causing this or is it a Goma bug?
 
Components: Infra>Client>WebRTC
Summary: Goma fails to compile Android x86 builds for WebRTC (was: Goma fails to compile Android x86 builds in )
Project Member

Comment 2 by bugdroid1@chromium.org, May 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/d939d48de2d27d3a79b81adcd71f221673bda40f

commit d939d48de2d27d3a79b81adcd71f221673bda40f
Author: kjellander@webrtc.org <kjellander@webrtc.org>
Date: Sun May 08 19:04:30 2016

Remove Android x86 compilation trybot from CQ.

There's a Goma bug making it fail to compile after rolling in
https://codereview.webrtc.org/1963493002/

BUG= chromium:610145 
TBR=pbos@webrtc.org
NOTRY=True

Review URL: https://codereview.webrtc.org/1959923002 .

Cr-Commit-Position: refs/heads/master@{#12657}

[modify] https://crrev.com/d939d48de2d27d3a79b81adcd71f221673bda40f/infra/config/cq.cfg

Project Member

Comment 3 by bugdroid1@chromium.org, May 8 2016

That was the libjpeg-turbo update reverted in https://codereview.chromium.org/1952363002/ , right? I think this is independent of goma?
Project Member

Comment 5 by bugdroid1@chromium.org, May 8 2016

The following revision refers to this bug:
  http://goto.ext.google.com/viewvc/chrome-internal?view=rev&revision=87572

------------------------------------------------------------------
r87572 | recipe-roller@chromium.org | 2016-05-08T19:23:07.146831Z

-----------------------------------------------------------------

Comment 6 by ukai@chromium.org, May 9 2016

Components: -Infra>Goma
I agree this is independent of goma.
Cc: pbos@chromium.org
Hmmm, the revert CL https://codereview.chromium.org/1935113002/ never landed (but was closed). The Chromium DEPS file still contains the change from https://chromium.googlesource.com/chromium/src/+/346f74fb31a84f8453e885337e0765576b4f35b6

It seems https://chromium.googlesource.com/chromium/src/+/58a611fea9de21de789f594b0e95c5147d74b519 made the bot go green again, but it's a GN-only change.
I guess this is when we start feeling the pain being on GYP in WebRTC. Since I'm OOO I can't do much more right now, but I'll work on switching over our bots quickly when I'm back on Wednesday.
Issue 610626 has been merged into this issue.
Summary: Failure to compile Android x86 with GYP (was: Goma fails to compile Android x86 builds for WebRTC)
I created a CL that solves this for WebRTC: https://codereview.chromium.org/1979373002/
Project Member

Comment 10 by bugdroid1@chromium.org, May 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ecc5ce313028e80e2a87ab40f854e45627137283

commit ecc5ce313028e80e2a87ab40f854e45627137283
Author: kjellander <kjellander@chromium.org>
Date: Wed May 18 09:05:19 2016

Roll src/third_party/libjpeg_turbo/ 414f2433e..7260e4d8b (1 commit).

This will unblock projects depending on libjpeg_turbo that haven't yet migrated to GN.

https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/414f2433e663..7260e4d8b8e1

$ git log 414f2433e..7260e4d8b --date=short --no-merges --format='%ad %ae %s'
2016-05-18 kjellander Build libjpeg_turbo in PIC mode for ia32 and x64 builds.

BUG= 610145 
TBR=brettw@chromium.org

Review-Url: https://codereview.chromium.org/1985413002
Cr-Commit-Position: refs/heads/master@{#394366}

[modify] https://crrev.com/ecc5ce313028e80e2a87ab40f854e45627137283/DEPS

Project Member

Comment 11 by bugdroid1@chromium.org, May 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/2f5d600918226030fefabe4069bb363425f77d72

commit 2f5d600918226030fefabe4069bb363425f77d72
Author: kjellander <kjellander@webrtc.org>
Date: Wed May 18 11:57:44 2016

Revert of Remove Android x86 compilation trybot from CQ. (patchset #1 id:1 of https://codereview.webrtc.org/1959923002/ )

Reason for revert:
https://codereview.chromium.org/1985413002/ rolled in the fix
for libjpeg_turbo's GYP file in Chromium. That was rolled into WebRTC
in https://codereview.webrtc.org/1985423004/. That means our Android
x86 builds can start working again.

Original issue's description:
> Remove Android x86 compilation trybot from CQ.
>
> There's a Goma bug making it fail to compile after rolling in
> https://codereview.webrtc.org/1963493002/
>
> BUG= chromium:610145 
> TBR=pbos@webrtc.org
> NOTRY=True
>
> Committed: https://chromium.googlesource.com/external/webrtc/+/d939d48de2d27d3a79b81adcd71f221673bda40f

TBR=pbos@webrtc.org
NOTRY=True
BUG= chromium:610145 
TESTED=Passing build with:
GYP_DEFINES='OS=android component=static_library target_arch=ia32' webrtc/build/gyp_webrtc.py
ninja -C out/Debug

Review-Url: https://codereview.webrtc.org/1989223002
Cr-Commit-Position: refs/heads/master@{#12792}

[modify] https://crrev.com/2f5d600918226030fefabe4069bb363425f77d72/infra/config/cq.cfg

Project Member

Comment 12 by bugdroid1@chromium.org, May 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/b7028dcc0f3e5ba2ecc793da76958ce6cd8ea30f

commit b7028dcc0f3e5ba2ecc793da76958ce6cd8ea30f
Author: kjellander@chromium.org <kjellander@chromium.org>
Date: Wed May 18 12:06:22 2016

Revert of WebRTC: Disable Android x86 compilation commit bot. (patchset #1 id:1 of https://codereview.chromium.org/1962523002/ )

Reason for revert:
This is now functional again as seen in https://codereview.webrtc.org/1989223002/

Original issue's description:
> WebRTC: Disable Android x86 compilation commit bot.
> 
> There's a Goma bug making it fail to compile after rolling in
> https://codereview.webrtc.org/1963493002/
> 
> BUG= chromium:610145 
> TBR=phoglund@chromium.org
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=300492

TBR=phoglund@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= chromium:610145 

Review-Url: https://codereview.chromium.org/1992573003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@300637 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/b7028dcc0f3e5ba2ecc793da76958ce6cd8ea30f/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_android32_builder_x86__dbg_.json
[modify] https://crrev.com/b7028dcc0f3e5ba2ecc793da76958ce6cd8ea30f/scripts/slave/recipes/webrtc/standalone.py

Project Member

Comment 13 by bugdroid1@chromium.org, May 18 2016

The following revision refers to this bug:
  http://goto.ext.google.com/viewvc/chrome-internal?view=rev&revision=88017

------------------------------------------------------------------
r88017 | recipe-roller@chromium.org | 2016-05-18T12:23:16.300556Z

-----------------------------------------------------------------
Status: Fixed (was: Untriaged)
This is now finally fixed.

Sign in to add a comment