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

Issue 749784 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Task
Proj-XR

Blocking:
issue 747675
issue 767901
issue 791232



Sign in to add a comment

libgvr_shim_static_arm.a needs to be built in a chrome build, not pulled from GCS

Project Member Reported by thomasanderson@chromium.org, Jul 27 2017

Issue description

libgvr_shim_static_arm.a needs to be linked against libc++_static.a from the ndk.  However, the symbols from libc++_static.a have the _ZNSt6__ndk1 symbol prefix (instead of _ZNSt3__1 used by vanilla libc++).  This causes a link failure when using the libc++ from buildtools/third_party/libc++.
 
Blocking: 767901

Comment 2 by p...@chromium.org, Dec 19 2017

Blocking: 791232
Cc: p...@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/70dafd227ed882f95a1d0aafc82e47615b744c1f

commit 70dafd227ed882f95a1d0aafc82e47615b744c1f
Author: Peter Collingbourne <pcc@google.com>
Date: Wed Jan 10 03:19:33 2018

Any update on this?  This is currently the only thing blocking libc++ for Android.

Comment 5 by p...@chromium.org, Mar 3 2018

The next steps are:

1) Update the GVR SDK to match the sources in c#3.
2) Cherry-pick r322201 into the NDK libc++ so that things continue to build between 3 and 4.
3) Land https://chromium-review.googlesource.com/#/c/chromium/src/+/947577 so that we use the internal sources if available.
4) Switch to buildtools libc++ for Android builds with internal sources available.

Comment 6 by p...@chromium.org, Mar 3 2018

Cc: mthiesse@chromium.org
For 1 it looks like mthiesse has already updated the GVR SDK to 1.130, so I've sent a CL updating the internal sources to match.
Project Member

Comment 8 by bugdroid1@chromium.org, Mar 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/android_ndk/+/635bc380968a76f6948fee65f80a0b28db53ae81

commit 635bc380968a76f6948fee65f80a0b28db53ae81
Author: Peter Collingbourne <pcc@google.com>
Date: Sat Mar 03 03:18:00 2018

Cherry-pick r322201 from upstream LLVM.

Bug:  749784 
Change-Id: I9b54d101d15dac6240c14f65c051f336df2cb381
Reviewed-on: https://chromium-review.googlesource.com/947710
Reviewed-by: agrieve <agrieve@chromium.org>
Tested-by: agrieve <agrieve@chromium.org>

[modify] https://crrev.com/635bc380968a76f6948fee65f80a0b28db53ae81/sources/cxx-stl/llvm-libc++/include/__config
[modify] https://crrev.com/635bc380968a76f6948fee65f80a0b28db53ae81/README.chromium

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 3 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/7823d9fa8a04059e3badd9501907c1a4e9bb36aa

commit 7823d9fa8a04059e3badd9501907c1a4e9bb36aa
Author: Peter Collingbourne <pcc@google.com>
Date: Sat Mar 03 03:22:47 2018

Project Member

Comment 10 by bugdroid1@chromium.org, Mar 5 2018

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

commit e3d421f820cbaaebaf1cef37911a0c62980c858e
Author: Peter Collingbourne <pcc@chromium.org>
Date: Mon Mar 05 05:11:38 2018

Android: Roll NDK to cherry-pick r322201 from upstream LLVM.

Bug:  749784 
Change-Id: I8ae48e1b1080ddeef87faafc7fad8f40ddb01126
Reviewed-on: https://chromium-review.googlesource.com/947715
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540782}
[modify] https://crrev.com/e3d421f820cbaaebaf1cef37911a0c62980c858e/DEPS

Cc: yfried...@chromium.org bajones@chromium.org vollick@chromium.org
Components: Internals>VR
Labels: -Type-Bug Proj-VR Type-Task
Owner: p...@chromium.org
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 8 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/9208406b96b48d9bc017f3c62da1164455684df0

commit 9208406b96b48d9bc017f3c62da1164455684df0
Author: Peter Collingbourne <pcc@google.com>
Date: Thu Mar 08 02:55:06 2018

Project Member

Comment 13 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/6a331182d485dbe252ebd94d7ec3712caf97072b

commit 6a331182d485dbe252ebd94d7ec3712caf97072b
Author: Peter Collingbourne <pcc@google.com>
Date: Tue Mar 27 13:41:23 2018

Project Member

Comment 14 by bugdroid1@chromium.org, Mar 29 2018

Project Member

Comment 15 by bugdroid1@chromium.org, Mar 30 2018

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

commit fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7
Author: Peter Collingbourne <pcc@chromium.org>
Date: Fri Mar 30 21:43:41 2018

Revert "Use the internal copy of gvr_shim in unofficial builds if the internal repository is available."

This reverts commit b114beac8e586f6e4a6f03e91d8330b6442041c5.

Reason for revert: Received multiple reports of VR breakage.

Original change's description:
> Use the internal copy of gvr_shim in unofficial builds if the internal repository is available.
> 
> Otherwise, link against a new set of gn-built prebuilts.
> 
> Bug:  749784 
> Change-Id: Id96666125226b3400bb92c31e5c97a7c2a64624d
> Reviewed-on: https://chromium-review.googlesource.com/947577
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Brandon Jones <bajones@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546707}

TBR=bshe@chromium.org,mthiesse@chromium.org,bajones@chromium.org,pcc@chromium.org,agrieve@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  749784 
Change-Id: If7f40622641a3a626dc6fae694e950033e8c82e0
Reviewed-on: https://chromium-review.googlesource.com/988452
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547278}
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/chrome/BUILD.gn
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/chrome/android/BUILD.gn
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/chrome/browser/android/vr/BUILD.gn
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/device/vr/BUILD.gn
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/third_party/gvr-android-sdk/BUILD.gn
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/third_party/gvr-android-sdk/libgvr_shim_static_arm.a.sha1
[modify] https://crrev.com/fafef2d32cf65dfbe87eb1d7c4d3249b8df7fbd7/third_party/gvr-android-sdk/libgvr_shim_static_arm64.a.sha1

What's the status here? It'd be nice to switch android's libc++.
Project Member

Comment 17 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/8ff5196f4d9c5aa08cfbd2c0b6648da353bcf6e7

commit 8ff5196f4d9c5aa08cfbd2c0b6648da353bcf6e7
Author: Peter Collingbourne <pcc@google.com>
Date: Thu Apr 12 17:39:49 2018

Comment 18 by p...@chromium.org, Apr 12 2018

I figured out what the problem was that caused the revert (see the CL I just landed) and https://chromium-review.googlesource.com/1008618 is the reland.
Project Member

Comment 19 by bugdroid1@chromium.org, Apr 13 2018

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

commit b63cf14139acd74de4436c3429cb47441f23542d
Author: Peter Collingbourne <pcc@google.com>
Date: Fri Apr 13 20:58:58 2018

Reland "Use the internal copy of gvr_shim in unofficial builds if the internal repository is available."

This change was originally reverted because the included prebuilts
caused crashes in component builds. The prebuilts included with this
change have been updated to fix the component build problem.

Original commit message:
> Use the internal copy of gvr_shim in unofficial builds if the internal repository is available.
>
> Otherwise, link against a new set of gn-built prebuilts.
>
> Bug:  749784 
> Change-Id: Id96666125226b3400bb92c31e5c97a7c2a64624d
> Reviewed-on: https://chromium-review.googlesource.com/947577
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Brandon Jones <bajones@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546707}

Bug:  749784 
Change-Id: I1c7c8c1dc1f96228c81b43d40148be7a54dfcae2
Reviewed-on: https://chromium-review.googlesource.com/1008618
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550757}
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/build/config/sanitizers/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/chrome/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/chrome/android/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/chrome/browser/android/vr/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/device/vr/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/third_party/gvr-android-sdk/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/third_party/gvr-android-sdk/libgvr_shim_static_arm.a.sha1
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/third_party/gvr-android-sdk/libgvr_shim_static_arm64.a.sha1

Project Member

Comment 20 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b63cf14139acd74de4436c3429cb47441f23542d

commit b63cf14139acd74de4436c3429cb47441f23542d
Author: Peter Collingbourne <pcc@google.com>
Date: Fri Apr 13 20:58:58 2018

Reland "Use the internal copy of gvr_shim in unofficial builds if the internal repository is available."

This change was originally reverted because the included prebuilts
caused crashes in component builds. The prebuilts included with this
change have been updated to fix the component build problem.

Original commit message:
> Use the internal copy of gvr_shim in unofficial builds if the internal repository is available.
>
> Otherwise, link against a new set of gn-built prebuilts.
>
> Bug:  749784 
> Change-Id: Id96666125226b3400bb92c31e5c97a7c2a64624d
> Reviewed-on: https://chromium-review.googlesource.com/947577
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Brandon Jones <bajones@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546707}

Bug:  749784 
Change-Id: I1c7c8c1dc1f96228c81b43d40148be7a54dfcae2
Reviewed-on: https://chromium-review.googlesource.com/1008618
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550757}
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/build/config/sanitizers/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/chrome/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/chrome/android/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/chrome/browser/android/vr/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/device/vr/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/third_party/gvr-android-sdk/BUILD.gn
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/third_party/gvr-android-sdk/libgvr_shim_static_arm.a.sha1
[modify] https://crrev.com/b63cf14139acd74de4436c3429cb47441f23542d/third_party/gvr-android-sdk/libgvr_shim_static_arm64.a.sha1

Project Member

Comment 21 by bugdroid1@chromium.org, Apr 18 2018

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

commit 791b70802d298e0e043f4b8bf5b14c9f654e9668
Author: Peter Collingbourne <pcc@google.com>
Date: Wed Apr 18 16:27:25 2018

Make gvr_shim a component.

This is really what we ought to be doing to avoid ODR violations
caused by linking the prebuilt .a into multiple components, but
I previously couldn't see a way to link the .a into the component
.so with --whole-archive. However, it turns out that it's possible
using ldflags. This is a little hackish but it's probably better than
dealing with ODR violations.

Bug:  749784 
Change-Id: I1ae275d57f36bc4a2c816d7f0ee8fdc4c000cf63
Reviewed-on: https://chromium-review.googlesource.com/1016092
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Biao She <bshe@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551711}
[modify] https://crrev.com/791b70802d298e0e043f4b8bf5b14c9f654e9668/third_party/gvr-android-sdk/BUILD.gn

Is this done?

Comment 23 by bshe@chromium.org, May 8 2018

Status: Fixed (was: Assigned)
I think so. mark as fixed. Thanks Peter!
Labels: M-68 Test-Complete
Components: Internals>XR

Sign in to add a comment