Chromium build issue

908 views
Skip to first unread message

Andrew Lugg

unread,
Mar 7, 2017, 8:42:05 PM3/7/17
to Chromium-dev
Hi,

I am trying to build a Dartium with proprietary codecs. I attempted to build a Dartium with the GYP flags, but to no avail.

The build kept failing with 

[22/22259] CXX obj\dart\runtime\vm\libdart_vm.thread.obj
FAILED: obj/dart/runtime/vm/libdart_vm.thread.obj
ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\dart\runtime\vm\libdart_vm.thread.obj.rsp /c ..\..\dart\runtime\vm\thread.cc /Foobj\dart\runtime\vm\libdart_vm.thread.obj /Fdobj\dart\runtime\libdart_vm.cc.pdb
c:\dart\dartium\src\dart\runtime\vm\thread.cc(459) : error C2220: warning treated as error - no 'object' file generated
c:\dart\dartium\src\dart\runtime\vm\thread.cc(459) : warning C4172: returning address of local variable or temporary: func
[25/22259] CC obj\third_party\opus\src\silk\opus.resampler_rom.obj
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "C:\dart\dartium\src\dart\tools\dartium\build.py", line 58, in <module>
    main()
  File "C:\dart\dartium\src\dart\tools\dartium\build.py", line 55, in main
    + targets)
  File "C:\dart\dartium\src\dart\tools\dartium\utils.py", line 112, in runCommand
    raise Exception('Failed to run command. return code=%s' % p.returncode)
Exception: Failed to run command. return code=1

But as there is limited information in regards to how to build Dartium, I thought I would build Chromium and see if I can get that going, then go back to Dartium, encase I was missing some dependencies.

But now as I try to build Chromium, I am getting 

C:\src\chromium\src>ninja -C out\Default chrome
ninja: Entering directory `out\Default'
[1/21496] LINK(DLL) base.dll base.dll.lib base.dll.pdb
FAILED: base.dll base.dll.lib base.dll.pdb
C:/src/depot_tools/python276_bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /IMPLIB:./base.dll.lib /DLL /OUT:./base.dll /PDB:./base.dll.pdb @./base.dll.rsp
uuid.lib(oaidl_i.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
LINK : error LNK1218: warning treated as error; no output file generated
[6/21496] CXX obj/third_party/pdfium/fpdftext/cpdf_textpage.obj
ninja: build stopped: subcommand failed.


I have tried doing google searches, but neither errors are coming up with anything. I am running Visual Studio 2015, with all extra's installed. I am also installed the Windows Driver Kit.

Does anyone have any idea?

Alex Stupak

unread,
Mar 14, 2017, 5:34:23 AM3/14/17
to Chromium-dev
Got the same error. Did you figure out that?


C:\src\chromium\src>ninja -C out/Default chromedriver
ninja: Entering directory `out/Default'
[1501/3529] LINK(DLL) icuuc.dll icuuc.dll.lib icuuc.dll.pdb
LINK : ./icuuc.dll not found or not built by the last incremental link; performing full link
[1511/3529] LINK(DLL) icui18n.dll icui18n.dll.lib icui18n.dll.pdb
LINK : ./icui18n.dll not found or not built by the last incremental link; performing full link
[1521/3529] LINK(DLL) base.dll base.dll.lib base.dll.pdb
FAILED: base.dll base.dll.lib base.dll.pdb
C:/src/depot_tools/python276_bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /IMPLIB:./base.dll.lib /DLL /OUT:./base.dll /PDB:./base.dll.pdb @./base.dll.rsp
uuid.lib(oaidl_i.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
LINK : error LNK1218: warning treated as error; no output file generated
[1530/3529] CXX obj/third_party/protobuf/protobuf_full/descriptor_database.obj
ninja: build stopped: subcommand failed.



среда, 8 марта 2017 г., 3:42:05 UTC+2 пользователь Andrew Lugg написал:

Andrew Lugg

unread,
Mar 14, 2017, 7:20:39 PM3/14/17
to Chromium-dev
No I didn't I found a way past most of my Dartium bug, so I haven't gone back to why Chromium itself wouldn't build. If you do find a solution, could you please let me know?

Nico Weber

unread,
Mar 15, 2017, 3:56:00 PM3/15/17
to and...@learningstaircase.co.nz, Wez, Chromium-dev
This is probably from https://codereview.chromium.org/2581893002/

I see linker warnings frequently on Windows, so I'm a bit surprised my builds aren't broken :-) To work around this, it looks like you can set `fatal_linker_warnings = false` in your args.gn file, but if we enable this by default then the build shouldn't fail with it -- so please also file a bug with your exact environment and with repro steps, so that we can fix this.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/c95d2688-dcc5-429e-bd28-ffc2286e9369%40chromium.org.

Bruce

unread,
Mar 15, 2017, 5:25:25 PM3/15/17
to Chromium-dev, and...@learningstaircase.co.nz, w...@chromium.org
It looks like you are doing a component build (/incremental implies that) but are somehow inadvertently linking with an /GL (LTCG) built object file. This is contradictory.

It looks like uuid.lib is the /GL object file you are linking with, but that doesn't make any sense. I have seen warnings about redefined symbols and those warnings were not fatal for some reason - I don't know why. However I have not seen this warning. What args.gn settings do you have in out\Default?

Walter

unread,
Mar 19, 2017, 7:53:06 PM3/19/17
to Chromium-dev, and...@learningstaircase.co.nz, w...@chromium.org
I am seeing the same issue, filed http://crbug.com/703005.

Wez

unread,
Mar 20, 2017, 1:36:29 PM3/20/17
to Walter, Chromium-dev, and...@learningstaircase.co.nz
Walter, Andrew: Can you confirm:

1. Which VS toolchain you're building with.
2. What your GN build args are.
3. That you see failures for a vanilla Chromium checkout, with no patches.

Thanks!

Walter

unread,
Mar 20, 2017, 2:16:10 PM3/20/17
to Chromium-dev, wko...@chromium.org, and...@learningstaircase.co.nz
On Monday, March 20, 2017 at 10:36:29 AM UTC-7, Wez wrote:
Walter, Andrew: Can you confirm:

1. Which VS toolchain you're building with.

VS 2015 as installed by the MS VS 2015 Community Edition install. If there's a way to somehow log the version used at build time I can double-confirm but through deduction (build failed before I installed VS 2015 despite having VS 2017 [albeit w/o the VS 2015 toolchain installed]) this seems near certain.
 
2. What your GN build args are.

Noted in bug:

is_debug = true
is_component_build = true
enable_nacl = false

but I saw the same issue with entirely default gn args, and added the above aiming to make things explicit to see if it fixed anything.
 
3. That you see failures for a vanilla Chromium checkout, with no patches.

Confirmed, vanilla checkout, no patches, AFAIK.

Bruce Dawson

unread,
Mar 20, 2017, 3:12:17 PM3/20/17
to wko...@chromium.org, Chromium-dev, and...@learningstaircase.co.nz
You can confirm what release of VS (2015 versus 2017) is being used to build Chromium by building the -v option to ninja and looking at the command lines for the compile commands. This produces a lot of output so you probably want to Ctrl+C cancel the build once you get to some compile steps. VS 2015 is the default so you will be using VS 2015 unless you have requested VS 2017.

Is it always uuid.lib that is triggering the /LTCG build?

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to a topic in the Google Groups "Chromium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/chromium-dev/jnofouwbn0k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/b44c32e6-6839-4b94-874f-f37cd9d143ed%40chromium.org.

Walter

unread,
Mar 20, 2017, 4:08:02 PM3/20/17
to Chromium-dev, wko...@chromium.org, and...@learningstaircase.co.nz


On Monday, March 20, 2017 at 12:12:17 PM UTC-7, Bruce Dawson wrote:
You can confirm what release of VS (2015 versus 2017) is being used to build Chromium by building the -v option to ninja and looking at the command lines for the compile commands. This produces a lot of output so you probably want to Ctrl+C cancel the build once you get to some compile steps. VS 2015 is the default so you will be using VS 2015 unless you have requested VS 2017.

Is it always uuid.lib that is triggering the /LTCG build?

It looks like it, yes. See log messages at http://crbug.com/703005#c2.

For a sample log message as:

[3647/17316] LINK(DLL) base.dll base.dll.lib base.dll.pdb
uuid.lib(oaidl_i.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance

I'm assuming for x.lib(y.obj), x = uuid.lib is the culprit, and y = oaidl_i.obj is just the specific sub-target involved? Because per log messages there are maybe five different values for y but only one value for x, across ~13 different specific targets.

I'll check ninja -v tonight and follow up.
Reply all
Reply to author
Forward
0 new messages