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

Issue 786603 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue angleproject:1432
issue 787242



Sign in to add a comment

win_optional_gpu_tests_rel fails to link

Project Member Reported by zmo@chromium.org, Nov 18 2017

Issue description

https://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/17338


[524/11457] LINK(DLL) libGLESv2.dll libGLESv2.dll.lib libGLESv2.dll.pdb
FAILED: libGLESv2.dll libGLESv2.dll.lib libGLESv2.dll.pdb 
E:/b/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x86 False link.exe /nologo /IMPLIB:./libGLESv2.dll.lib /DLL /OUT:./libGLESv2.dll /PDB:./libGLESv2.dll.pdb @./libGLESv2.dll.rsp
translator.lib(Types.obj) : error LNK2005: "public: __thiscall sh::TType::TType(void)" (??0TType@sh@@QAE@XZ) already defined in translator.lib(DeferGlobalInitializers.obj)
translator.lib(Types.obj) : error LNK2005: "public: __thiscall sh::TType::TType(enum sh::TBasicType,unsigned char,unsigned char)" (??0TType@sh@@QAE@W4TBasicType@1@EE@Z) already defined in translator.lib(util.obj)
translator.lib(Types.obj) : error LNK2005: "public: __thiscall sh::TType::TType(enum sh::TBasicType,enum sh::TPrecision,enum sh::TQualifier,unsigned char,unsigned char)" (??0TType@sh@@QAE@W4TBasicType@1@W4TPrecision@1@W4TQualifier@1@EE@Z) already defined in translator.lib(Initialize.obj)
translator.lib(Types.obj) : error LNK2005: "public: __thiscall sh::TType::TType(class sh::TStructure *)" (??0TType@sh@@QAE@PAVTStructure@1@@Z) already defined in translator.lib(SymbolTable.obj)
translator.lib(Types.obj) : error LNK2005: "public: void __thiscall sh::TType::setPrimarySize(unsigned char)" (?setPrimarySize@TType@sh@@QAEXE@Z) already defined in translator.lib(VectorizeVectorScalarArithmetic.obj)
translator.lib(Types.obj) : error LNK2005: "public: void __thiscall sh::TType::setArraySize(unsigned int,unsigned int)" (?setArraySize@TType@sh@@QAEXII@Z) already defined in translator.lib(ParseContext.obj)
translator.lib(Types.obj) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class pool_allocator<char> > const & __thiscall sh::TType::getMangledName(void)const " (?getMangledName@TType@sh@@QBEABV?$basic_string@DU?$char_traits@D@std@@V?$pool_allocator@D@@@std@@XZ) already defined in translator.lib(Cache.obj)
translator.lib(glslang_tab.obj) : error LNK2005: "public: void __thiscall sh::TPublicType::initialize(struct sh::TTypeSpecifierNonArray const &,enum sh::TQualifier)" (?initialize@TPublicType@sh@@QAEXABUTTypeSpecifierNonArray@2@W4TQualifier@2@@Z) already defined in translator.lib(Types.obj)
./libGLESv2.dll : fatal error LNK1169: one or more multiply defined symbols found
 
Blocking: angleproject:1432
A bunch of definitions were moved from Types.h to Types.cpp. So Types.cpp must be linked multiple times (Types.obj and DeferGlobalInitializers.obj)?
It's pretty strange. Maybe related to component build? Not sure why this would only show up on the optional bot... 
This is mysterious to me. I think it might have been a flake. I'm not sure why the other objects didn't get recompiled since Types.h had changed between that and the last build on that bot. There also were some odd compile errors prior to this compile error. Also the revert has not yet rolled into Chromium and builds are already succeeding. I'm going to try re-landing.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/90ed1e4971ae274d125654a0508d60a75a4be252

commit 90ed1e4971ae274d125654a0508d60a75a4be252
Author: Jamie Madill <jmadill@chromium.org>
Date: Sat Nov 18 04:39:41 2017

Reland "Clean up the TType class."

This is a reland of 3f286cd1b6e29605a159ee0bd20c76929d4d5a9f
Original change's description:
> Clean up the TType class.
>
> Move more methods into the cpp file, and rename member variables to
> start with the "m" prefix.
>
> Also move most of the TPublicType methods into the cpp.
>
> Bug:  angleproject:1432 
> Change-Id: Ib11a3c8c6ace654fd52077a317814665f81a7261
> Reviewed-on: https://chromium-review.googlesource.com/776276
> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug:  angleproject:1432 
Bug:  chromium:786603 
Change-Id: I7f91557d9f9065f4aa90130ce30dc27e9f796065
Reviewed-on: https://chromium-review.googlesource.com/777715
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/90ed1e4971ae274d125654a0508d60a75a4be252/src/compiler/translator/Types.h
[modify] https://crrev.com/90ed1e4971ae274d125654a0508d60a75a4be252/src/compiler/translator/Types.cpp

Status: WontFix (was: Assigned)
No resolution, please re-open if the problem reoccurs.

Comment 7 by kbr@chromium.org, Nov 21 2017

Blocking: 787242

Sign in to add a comment