Linker issues with DMD and LDC

Thomas Gregory charles.gregory940 at
Fri Nov 12 19:50:24 UTC 2021

I get this error when trying to compile a program using 
[dhtslib]( with DMD or any 
LDC version < 1.25.0.
_D39TypeInfo_S7dhtslib3sam6record9SAMRecord6__initZ: error: 
undefined reference to 
Though I only experience this when trying to create an array of 

One solution I have found is using `std.array.Appender` instead 
of arrays. Another solution I have found is to define an explicit 
postblit for `SAMRecord`, though the implicitly generated 
postblit should work.

Looking through ldc changelogs, the closest thing I could 
attribute this to is this change for ldc-1.25.0:

> - Struct TypeInfos are emitted into referencing object files 
> only, and special TypeInfo member functions into the owning 
> object file only. (#3491)

I posted this question 
[previously](, though I explained the problem poorly.

I don't understand why my fixes work or what is causing the issue 
in the first place. Is there something I should be doing 
differently? Is this a compiler or language bug?

More information about the Digitalmars-d-learn mailing list