Search Issue Tracker

Fixed in 1.3.0-preview.10

Votes

4

Found in [Package]

2019.3.0f5

Issue ID

1213590

Regression

No

ECS/Hybrid Rendering fails to build for UWP

Package: Burst

-

Setup a UWP/Mixed Reality/ARM64 configuration (for HoloLens 2) to build a simple cube scene with Hybrid Rendering/ECS using latest preview versions on 2019.3. Set to .NET Standard 2.0 per warning generated by entitires framework.

Builds and runs in editor successfully.

Attempting to build the UWP project generates the following linker errors from the burst compiler:

lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.DeallocateDataEntitiesInChunk(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity* entities, Unity.Entities.Chunk* chunk, int indexInChunk, int batchCount)_4576548C7FA2CC7B already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.Move(Unity.Entities.EntityComponentStore* this, Unity.Entities.EntityBatchInChunk entityBatchInChunk, ref Unity.Entities.EntityComponentStore.ArchetypeChunkFilter archetypeChunkFilter)_A14AA742C99CC3C3 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.GetArchetypeWithRemovedComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Archetype* archetype, Unity.Entities.ComponentType addedComponentType, int* indexInOldTypeArray)_636CBB665CF5C897 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.GetChunkWithEmptySlots(Unity.Entities.EntityComponentStore* this, ref Unity.Entities.EntityComponentStore.ArchetypeChunkFilter archetypeChunkFilter)_D2F3267D5B1BFECB already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.Move(Unity.Entities.EntityComponentStore* this, Unity.Entities.EntityBatchInChunk srcBatch, Unity.Entities.Chunk* dstChunk)_460B7B49C2737BDF already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.DestroyEntities(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity* entities, int count)_72FAE56CF8AC5FC3 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.ChunkListMap.GetHashCode(Unity.Entities.SharedComponentValues sharedComponentValues, int numSharedComponents)_7D80A4B8F8B33FC1 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.ChunkListMap.PossiblyGrow(Unity.Entities.ChunkListMap* this)_A792BF1B990399C7 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.Archetype.AddToChunkList(Unity.Entities.Archetype* this, Unity.Entities.Chunk* chunk, Unity.Entities.SharedComponentValues sharedComponentIndices, uint changeVersion)_C3DE3C7163BC73BB already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.GetOrCreateArchetype(Unity.Entities.EntityComponentStore* this, Unity.Entities.ComponentTypeInArchetype* inTypesSorted, int count)_A9C1E11F354D44E3 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.CreateArchetype(Unity.Entities.EntityComponentStore* this, Unity.Entities.ComponentTypeInArchetype* types, int count)_4027D40E0697995D already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.ArchetypeListMap.Add(Unity.Entities.ArchetypeListMap* this, Unity.Entities.Archetype* archetype)_AD80DF2ADF05E8A1 already defined in lib_burst_generated_part_1.obj
lib_burst_generated_part_0.obj : error LNK2005: .LUnity.Entities.EntityComponentStore.GetArchetypeWithAddedComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Archetype* archetype, Unity.Entities.ComponentType addedComponentType, int* indexInTypeArray)_19FB4AF2FB568A10 already defined in lib_burst_generated_part_1.obj
Creating library C:\\Users\\djohnso\\AppData\\Local\\Temp\\burst-aotl0jlauz3.w0c\\lib_burst_generated.lib and object C:\\Users\\djohnso\\AppData\\Local\\Temp\\burst-aotl0jlauz3.w0c\\lib_burst_generated.exp
C:\\Users\\djohnso\\AppData\\Local\\Temp\\burst-aotl0jlauz3.w0c\\lib_burst_generated.dll : fatal error LNK1169: one or more multiply defined symbols found
The native link step failed. Check previous exception in the log - linker command line : "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.24.28314\bin\Hostx64\arm\link.exe "@C:\Users\djohnso\AppData\Local\Temp\tmp22AE.tmp""

Comments (2)

  1. soleron

    Apr 17, 2020 13:00

    Thanks MKRACIK. This workaround works unless someone is depending on any of the features not contained post 1.2.3 and its dependencies.

    Apart from Burst, one also needs to downgrage Collections to 0.2.3

  2. mkracik

    Mar 24, 2020 21:40

    I have been able to work around this issue by downgrading Burst from 1.3.0-preview.7 to 1.2.3, and downgrading packages which depend on Burst 1.3.0 (Collections, Entities, Hybrid Renderer).

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.