LDC 0.14.0 shared library sonames

David Nadlinger via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Thu Aug 21 12:35:27 PDT 2014

On 21 Aug 2014, at 18:47, Konstantinos Margaritis via digitalmars-d-ldc 
> On Thu, 21 Aug 2014 18:33:54 +0200
> David Nadlinger via digitalmars-d-ldc 
> <digitalmars-d-ldc at puremagic.com>
> wrote:
>> lrwxrwxrwx  1 root root      15 Aug  8  2012 libz.so.1 ->
>> libz.so.
>> -rw-r--r--  1 root root   79980 Dec 28  2009 libz.so.
>> libz.so.1 is the soname, and a symlink. I still don't see how this is
>> different from what we are doing, or how it would make sense to do
>> this the other way round.
> Well, the difference between the two cases is obvious though. In the
> case of libz (and a few others as I checked, and you were right in
> pointing out) is that the libz.so.1 which is the ABI version is the
> symlink to the actual full soname library

It seems like we are talking past each other, although I'm not quite 
sure why.

"libz.so.1" *is* the soname:

$ objdump /usr/lib/libz.so. -p | fgrep SONAME
   SONAME               libz.so.1

Same is true for

libdruntime-ldc.so.65 -> libdruntime-ldc.so.2.0.65


$ objdump libdruntime-ldc.so.2.0.65 -p | fgrep SONAME
   SONAME               libdruntime-ldc.so.65

You might not want to ship the additional libdruntime-ldc.so -> 
libdruntime-ldc.so.65 symlink in your packages, but that's a Debian 
thing and the same as for any other library (Arch Linux for example 
ships all those links).

If there is something unusual about the way LDC handles things, I'm 
quite interested in fixing them to avoid irritation for packagers. But I 
honestly have no clue what the issue is here.


More information about the digitalmars-d-ldc mailing list