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

Issue 774814 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug



Sign in to add a comment

isOSVersionAtLeast symbol not found in static Cronet framework

Project Member Reported by kapishnikov@chromium.org, Oct 14 2017

Issue description

The latest 64.0.3240.0 static Cronet framework doesn't contain all required symbols for linking. In particular, it is missing isOSVersionAtLeast:

Undefined symbols for architecture x86_64:
  "___isOSVersionAtLeast", referenced from:
      base::TimeTicks::Now() in Cronet(cronet_static_complete.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 

Comment 1 by pkl@chromium.org, Oct 16 2017

Cc: noyau@chromium.org
Owner: michaeldo@chromium.org
Status: Assigned (was: Untriaged)
Mike, Can you help? Is this your area?
Owner: mef@chromium.org
This isn't related to ChromeWebView, but just building Cronet. I don't really understand what changed here to cause this.

I only see a reference to that function here:
https://cs.chromium.org/chromium/src/tools/clang/scripts/package.py?q=isOSVersionAtLeast&sq=package:chromium&l=266

and it seems that isOSVersionAtLeast is needed to use @available based on the review which added those includes:
https://chromium-review.googlesource.com/c/chromium/src/+/563157

Maybe an @available was added to Cronet source or one of it's dependancies recently and the rules in package.py need to be updated?

Assigning to mef@ for Cronet side input.

Comment 3 by mef@chromium.org, Oct 16 2017

Owner: kapishnikov@chromium.org
The problem only applies to Cronet static framework, which links with explicitly defined set of deps libraries, that doesn't include the system library that exports ___isOSVersionAtLeast.
Status: Started (was: Assigned)
I uploaded a CL that should fix it:
https://chromium-review.googlesource.com/c/chromium/src/+/722100
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 17 2017

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

commit dd770539649861fd83afad77589017c5e64f6f2e
Author: kapishnikov <kapishnikov@chromium.org>
Date: Tue Oct 17 03:17:20 2017

Link Cronet static framework with Xcode toolchain libraries

BUG= 774814 

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I575425a128689729741093e43d6798f2252b5ec6
Reviewed-on: https://chromium-review.googlesource.com/722100
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509260}
[modify] https://crrev.com/dd770539649861fd83afad77589017c5e64f6f2e/components/cronet/tools/hide_symbols.py

Cherry-picking the fix (dd770539649861fd83afad77589017c5e64f6f2e) to M63 branch 3239. The CL only contains changes in Cronet component and should not impact Chromium since none of the Chromium components have dependency on Cronet.
Status: Fixed (was: Started)
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 18 2017

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

commit f4d0dae653cc3be3be1cf3c18a07dc020940bd84
Author: kapishnikov <kapishnikov@chromium.org>
Date: Wed Oct 18 04:12:20 2017

Link Cronet static framework with Xcode toolchain libraries

BUG= 774814 

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I575425a128689729741093e43d6798f2252b5ec6
Reviewed-on: https://chromium-review.googlesource.com/722100
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#509260}(cherry picked from commit dd770539649861fd83afad77589017c5e64f6f2e)
Reviewed-on: https://chromium-review.googlesource.com/723479
Cr-Commit-Position: refs/branch-heads/3239@{#43}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/f4d0dae653cc3be3be1cf3c18a07dc020940bd84/components/cronet/tools/hide_symbols.py

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 19 2017

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

commit d5ccb43ff5d44599d83d7cc1945d502f082755e2
Author: Misha Efimov <mef@chromium.org>
Date: Thu Oct 19 22:02:38 2017

[Cronet] Use developer_dir to find Xcode toolchain on official bots.

Bug:  774814 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I442f55b957017119b5241993ee0f90ae63a86557
Reviewed-on: https://chromium-review.googlesource.com/729126
Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
Commit-Queue: Misha Efimov <mef@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510231}
[modify] https://crrev.com/d5ccb43ff5d44599d83d7cc1945d502f082755e2/components/cronet/tools/hide_symbols.py

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 20 2017

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

commit 02af89efbe7be4f17dc4606657841af6de824d4d
Author: Misha Efimov <mef@chromium.org>
Date: Fri Oct 20 00:01:57 2017

[Cronet] Use developer_dir to find Xcode toolchain on official bots.

Bug:  774814 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I442f55b957017119b5241993ee0f90ae63a86557
Reviewed-on: https://chromium-review.googlesource.com/729126
Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
Commit-Queue: Misha Efimov <mef@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#510231}(cherry picked from commit d5ccb43ff5d44599d83d7cc1945d502f082755e2)
Reviewed-on: https://chromium-review.googlesource.com/729380
Cr-Commit-Position: refs/branch-heads/3239@{#94}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/02af89efbe7be4f17dc4606657841af6de824d4d/components/cronet/tools/hide_symbols.py

Sign in to add a comment