www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21447] New: Undocumented MS linker error LNK1377


          Issue ID: 21447
           Summary: Undocumented MS linker error LNK1377
           Product: D
           Version: D2
          Hardware: All
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: kinke gmx.net

Trying to link a huge project compiled with DMD v2.094.2 for Win64 yields:

extra.lib(mutation_bb3e_d85.obj) : fatal error LNK1377:
'_D8kaleidic3sil3std5extra5chart6ggplot4Plot4saveMFAyaiiZv' symbol not found in
object. The containing library is corrupt.

Note that this isn't the usual LNK2019 ('unresolved external symbol ...
referenced in function ...'). Googling 'LNK1377' only yields 28 (unrelated)
results. Compiling with LDC v1.24.0 works fine.

Additionally, the symbol *is* defined in that extra.lib. `dumpbin /symbols

017 00000000 UNDEF  notype ()    External     |
017 00000000 UNDEF  notype ()    External     |
085 00000000 SECTB  notype ()    External     |
086 00000000 SECTC  notype       Static       |
087 00000000 SECTD  notype       Static       |

To me, 'symbol not found in object' sounds like the linker expects the symbol
to be defined in the same object file.

Unfortunately I can't really provide a testcase, not even binary artifacts -
the lib is huge (~288 MB), the dumpbin output >3M lines...

Dec 02 2020