New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 668202 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocked on:
issue 661646
issue 671756



Sign in to add a comment

Set up automated builder for upcoming NDK versions

Project Member Reported by jbudorick@chromium.org, Nov 23 2016

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Dec 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/4f140d7e018b70c875246da1f50868719287d0d5

commit 4f140d7e018b70c875246da1f50868719287d0d5
Author: John Budorick <jbudorick@google.com>
Date: Thu Dec 01 23:58:49 2016

recipes: add ndk_next gclient config.

This adds an ndk_next gclient configuration to allow bots to use the
upcoming version of the Android NDK.

BUG=668202

Change-Id: I403e398094f4215cdb3783b68f465323264ca1ee
Reviewed-on: https://chromium-review.googlesource.com/414184
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Mike Stipicevic <stip@chromium.org>

[modify] https://crrev.com/4f140d7e018b70c875246da1f50868719287d0d5/recipe_modules/gclient/config.py
[modify] https://crrev.com/4f140d7e018b70c875246da1f50868719287d0d5/recipe_modules/gclient/example.py

Blockedon: 671756
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 14 2016

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

commit 6771fc559139e514d560122bcfc78f11a381ea13
Author: John Budorick <jbudorick@google.com>
Date: Thu Dec 08 02:51:11 2016

[android] Add 5 NDK Next builders to chromium.android.fyi.

Includes one builder each for:
 - arm
 - arm64
 - MIPS
 - x86
 - x64

building with https://chromium.googlesource.com/android_ndk/+/next

BUG=668202

Change-Id: I30c3e5744b5a0bb97a2e36d979e8fe078661eecb
Reviewed-on: https://chromium-review.googlesource.com/417254
Reviewed-by: Mike Stipicevic <stip@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>

[modify] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/masters/master.chromium.android.fyi/builders.pyl
[modify] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/scripts/slave/recipe_modules/chromium_tests/chromium_android_fyi.py
[add] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/scripts/slave/recipes/chromium.expected/full_chromium_android_fyi_NDK_Next_MIPS_Builder.json
[add] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/scripts/slave/recipes/chromium.expected/full_chromium_android_fyi_NDK_Next_arm64_Builder.json
[add] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/scripts/slave/recipes/chromium.expected/full_chromium_android_fyi_NDK_Next_arm_Builder.json
[add] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/scripts/slave/recipes/chromium.expected/full_chromium_android_fyi_NDK_Next_x64_Builder.json
[add] https://crrev.com/6771fc559139e514d560122bcfc78f11a381ea13/scripts/slave/recipes/chromium.expected/full_chromium_android_fyi_NDK_Next_x86_Builder.json

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 15 2016

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

commit b5d751846a6312dad7910991dc46708300d606e8
Author: jbudorick <jbudorick@chromium.org>
Date: Thu Dec 15 15:19:39 2016

[Android] Add mb configurations for the ndk-next builders.

These will be building against the next candidate version of the NDK.
They were set up on the infra side in
https://chromium-review.googlesource.com/c/417254/

BUG=668202

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

[modify] https://crrev.com/b5d751846a6312dad7910991dc46708300d606e8/tools/mb/mb_config.pyl

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 15 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infradata/master-manager.git/+/97d4064f83aed2e68b9f0090a15c17e42d6d3f95

commit 97d4064f83aed2e68b9f0090a15c17e42d6d3f95
Author: John Budorick <jbudorick@google.com>
Date: Thu Dec 15 15:27:12 2016

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 15 2016

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

commit b03ccd36ba4a48f97afb993312cf0c874021d3ce
Author: jbudorick <jbudorick@chromium.org>
Date: Thu Dec 15 18:22:38 2016

[Android] Fix ndk_next gn args in mb_config.

They should be strings. They were not strings.

This fixes https://codereview.chromium.org/2572233003/

BUG=668202
TBR=dpranke@chromium.org

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

[modify] https://crrev.com/b03ccd36ba4a48f97afb993312cf0c874021d3ce/tools/mb/mb_config.pyl

Compilation with gcc is failing with errors similar to the attached (taken from https://luci-milo.appspot.com/buildbot/chromium.android.fyi/NDK%20Next%20arm%20Builder/966). I haven't yet been able to determine why gcc thinks there's an ambiguity between unique_ptr and int. Clang does not suffer the same issue.

In light of this and of gcc's newly unsupported status in the NDK, I'm flipping the ndk-next builders to clang.
ndk_r13_gcc_compile_sample_error.txt
4.2 KB View Download
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 22 2016

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

commit 15cc6b41daf2500026449b9d9bcf463b2e8dcfc3
Author: jbudorick <jbudorick@chromium.org>
Date: Thu Dec 22 16:10:13 2016

[Android] Flip the NDK Next builders to clang.

The r13 release notes [1] say that GCC is no longer supported.
Currently, compilation with GCC is broken on ambiguous unique_ptr / int
issues that I haven't yet been able to figure out.

[1] https://github.com/android-ndk/ndk/wiki/Changelog-r13

BUG=668202
TBR=dpranke@chromium.org

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

[modify] https://crrev.com/15cc6b41daf2500026449b9d9bcf463b2e8dcfc3/tools/mb/mb_config.pyl

BTW, I managed build with GCC in r13. Changes:

1. Define dummy (empty) __NDK_FPABI__

2. Make sure _LIBCPP_EXPLICIT is defined as 'explicit'. Otherwise unique_ptr's operator bool is not explicit, and comparing unique_ptr to NULL becomes ambiguous, since operator(int, int) gets in the mix.

3. _LIBCPP_HAS_NO_DEFAULT_FUNCTION_TEMPLATE_ARGS suppresses weird error related to std::pair's default ctor (which in r13 is a template with default args) checking pair arguments to be is_default_constructible. dom_distiller::InMemoryContentStore uses unique_ptr<DistilledArticleProto, CacheDeletor>, which is not default constructible because CacheDeletor doesn't have default ctor. GCC fails to compile is_default_constructible<> instantiation with that unique_ptr.

This is just FYI, I don't think we need to switch to r13 - I came here from  issue 670464 , but I'll try to fix it another way.
BUILD.diff
458 bytes Download
__config.diff
1.0 KB Download
Ah, #2 is where I got stuck.
Cc: dskiba@chromium.org

Sign in to add a comment