Modern C++ Lamentations

Neia Neutuladh neia at ikeran.org
Wed Jan 2 01:40:42 UTC 2019


On Wed, 02 Jan 2019 00:40:21 +0000, Rubn wrote:
> Why wouldn't you keep older versions of phobos? Why are you deleting the
> old ones when you install a new version of DMD.

Distributing binaries requires either static linking, shipping multiple 
files that must be kept together (which is strictly inferior to static 
linking), or a compatible library already installed on the client machine. 
Phobos doesn't have a stable ABI, so that means the client would need your 
specific version of Phobos. That's not super kind.

You can't tell which versions of libphobos.so you need to keep around 
without running ldd on every executable on your computer. This would be 
moderately annoying with only official releases; for instance, I've got 
one tiny project that's old enough that I built it using dsss, and either 
that would be broken, or I'd have a few dozen versions of phobos running 
around. More than one per binary that I care about.

Specific to Jonathan M Davis, if you're building dmd/druntime/phobos from 
git head, the previous problems are hugely compounded, plus you need to 
assign unique numbers to each built version and update the relevant 
dmd.conf to match.


More information about the Digitalmars-d mailing list