New issue
Advanced search Search tips

Issue 676122 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocking:
issue 676057



Sign in to add a comment

mus_demo.service.exe fails to link under Windows component builds

Project Member Reported by w...@chromium.org, Dec 20 2016

Issue description

mus_demo.service.exe link step fails due to duplicate symbols:

[1/4] LINK mus_demo.service.exe mus_demo.service.exe.pdb
FAILED: mus_demo.service.exe mus_demo.service.exe.pdb
C:/python_27_amd64/files/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /OUT:./mus_demo.service.exe /PDB:./mus_demo.service.exe.pdb @./mus_demo.service.exe.rsp
mus_demo.obj : error LNK2001: unresolved external symbol "public: virtual class std::unique_ptr<class ui::Layer,struct std::default_delete<class ui::Layer> > __cdecl ui::LayerOwner::RecreateLayer(void)" (?RecreateLayer@LayerOwner@ui@@UEAA?AV?$unique_ptr@VLayer@ui@@U?$default_delete@VLayer@ui@@@std@@@std@@XZ)
./mus_demo.service.exe : fatal error LNK1120: 1 unresolved externals
ninja: build stopped: subcommand failed.

 

Comment 1 by w...@chromium.org, Dec 20 2016

Cc: dpranke@chromium.org
This issue doesn't hit the CQ or waterfall because there are no Windows+component configurations for which we build "all" or "gn_all", so this target only currently gets built on Windows non-component waterfall bots.

Comment 2 by w...@chromium.org, Dec 20 2016

Blocking: 676057
Owner: kylec...@chromium.org
Status: Assigned (was: Untriaged)
kylechar@ if you're in the office this week and have time, can you look at this? Otherwise, give it back to me.
Yep, I'm around tomorrow and will try to build this on the Windows lab machine. That is a bit of a strange error, but I guess that //ui/aura needs a public dep on //ui/compositor instead of just a dep? MusDemo doesn't call LayerOwner::RecreateLayer() itself. MusDemo uses aura::Window though and that inherits from LayerOwner.

Comment 5 by w...@chromium.org, Dec 21 2016

Uploaded https://codereview.chromium.org/2592853002/# to temporarily disable mus_demo.service.exe from building.

Comment 6 by w...@chromium.org, Dec 21 2016

#6 continued: ... on Windows component builds.
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 21 2016

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

commit e9015716f2cfdbce859c1239ff0d2ec93f74dc0b
Author: kylechar <kylechar@chromium.org>
Date: Wed Dec 21 18:42:01 2016

Fix linker error with mus_demo.

In the Windows component build there is a linker error trying to compile
//services/ui/demo:mus_demo. A symbol from //ui/compositor in the
LayerOwner class can't be found. The aura::Window class inherits from
LayerOwner which seems to be the root of the problem.

Make the dep from //ui/aura to //ui/compositor a public dep. This is
more appropriate than adding a dep from //services/ui/demo:mus_demo to
//ui/compositor, as mus_demo doesn't include anything from
//ui/compositor itself.

BUG= 676122 

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

[modify] https://crrev.com/e9015716f2cfdbce859c1239ff0d2ec93f74dc0b/ui/aura/BUILD.gn

Status: Fixed (was: Assigned)
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment