Issue metadata
Sign in to add a comment
|
GN bootstrap fails to link gn: undefined reference
Reported by
yorik....@gmail.com,
Nov 9 2017
|
||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36 Steps to reproduce the problem: Run "python tools/gn/bootstrap/bootstrap.py -v -s --no-clean" What is the expected behavior? GN is built What went wrong? [363/363] g++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o libevent.a base.a xdg_user_dirs.a gn_lib.a dynamic_annotations.a -Wl,--end-group -lrt -latomic FAILED: gn g++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o libevent.a base.a xdg_user_dirs.a gn_lib.a dynamic_annotations.a -Wl,--end-group -lrt -latomic base/metrics/field_trial.o: In function `base::ObserverListThreadSafe<base::FieldTrialList::Observer>::NotifyWrapper(base::FieldTrialList::Observer*, base::ObserverListThreadSafe<base::FieldTrialList::Observer>::NotificationData const&)': field_trial.cc:(.text._ZN4base22ObserverListThreadSafeINS_14FieldTrialList8ObserverEE13NotifyWrapperEPS2_RKNS3_16NotificationDataE[_ZN4base22ObserverListThreadSafeINS_14FieldTrialList8ObserverEE13NotifyWrapperEPS2_RKNS3_16NotificationDataE]+0x101): undefined reference to `base::internal::ObserverListThreadSafeBase::tls_current_notification_' base/metrics/field_trial.o: In function `base::ObserverListThreadSafe<base::FieldTrialList::Observer>::AddObserver(base::FieldTrialList::Observer*)': field_trial.cc:(.text._ZN4base22ObserverListThreadSafeINS_14FieldTrialList8ObserverEE11AddObserverEPS2_[_ZN4base22ObserverListThreadSafeINS_14FieldTrialList8ObserverEE11AddObserverEPS2_]+0x493): undefined reference to `base::internal::ObserverListThreadSafeBase::tls_current_notification_' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. Did this work before? Yes 63.0.3239.30 - It definitely works on current beta channel Chrome version: 64.0.3260.2 Channel: dev OS Version: Flash Version: After [0] landed, users of base/observer_list_threadsafe.h are required to link with base/observer_list_threadsafe.cc to allocate and initialize static variable base::internal::ObserverListThreadSafeBase::tls_current_notification_. bootstrap.py has its own list of sources to be built and linked to generate gn and it is missing that file. Fix is uploaded at [1]. [0] https://chromium-review.googlesource.com/740989 [1] https://chromium-review.googlesource.com/758584
,
Nov 9 2017
,
Nov 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/976fe5f366eb4c6bf1af6c1d9c871ba7546cd5bb commit 976fe5f366eb4c6bf1af6c1d9c871ba7546cd5bb Author: Yuriy Taraday <yorik.sar@gmail.com> Date: Mon Nov 13 18:01:51 2017 Add observer_list_threadsafe.cc to gn bootstrap deps After 24423de1dc711cebf73d097943d2090ce4d8aed7 [0] gn boostrap fails with undefined reference to `base::internal::ObserverListThreadSafeBase::tls_current_notification_' Add observer_list_threadsafe.cc that contains that static var to bootstrap.py to make it work again. [0] https://chromium-review.googlesource.com/740989 Bug: 783188 Change-Id: Iac583c52b8aed452b3bdd5b33a60857e2e8285b9 Reviewed-on: https://chromium-review.googlesource.com/758584 Commit-Queue: Dirk Pranke <dpranke@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#515978} [modify] https://crrev.com/976fe5f366eb4c6bf1af6c1d9c871ba7546cd5bb/AUTHORS [modify] https://crrev.com/976fe5f366eb4c6bf1af6c1d9c871ba7546cd5bb/tools/gn/bootstrap/bootstrap.py
,
Nov 14 2017
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by dtapu...@chromium.org
, Nov 9 2017Owner: dpranke@chromium.org
Status: Assigned (was: Unconfirmed)