The D ecosystem in Debian with free-as-in-freedom DMD

Nicholas Wilson via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 10 06:25:43 PDT 2017


On Monday, 10 April 2017 at 11:40:12 UTC, Matthias Klumpp wrote:
> Hi there!
> [...]
> If we do that, we will run into the D ABI trap: Libraries 
> compiled with compiler X can not be used from software compiled 
> with D compiler Y. There is actually no ABI stability guarantee 
> even between DMD releases.
> This will make integrating D a huge pain. Recompiling the 
> dependency-chain of a software from source when compiling a 
> package using the "right" compiler and statically adding the 
> code is forbidden by distro policy. Having static libraries in 
> the dependencies doesn't solve the issue. Compiling each 
> library with all D compilers is highly impractical and not 
> really feasible.
> So, how should we proceed here? We could make it "DMD is the 
> only thing on the highway" compiling everything with DMD with 
> zero exceptions, which would leave us with only DMD-internal 
> ABI breakage and bad D code performance for some libraries.

I am working on a project that will require to be used almost 
exclusively with LDC (targeting the GPU backends of LLVM), and 
while technically only the mangling needs to match using any 
other complier will likely be a major workflow impediment. 
Perhaps it is reasonable to make them compile the stdlibs for 
LDC, but if it becomes as popular as I hope (dominating it's 
niché) it may be worthwhile considering shipping prebuilts.



More information about the Digitalmars-d mailing list