December 21, 2014
Hi Russel,

On 12/21/2014 05:45 PM, Russel Winder via digitalmars-d-ldc wrote:
> From what I can tell, building from Git master/HEAD and using d-apt
> package on Debian, you get a libphobos2-ldc.a and also the various
> shared object files. It appears that the Fedora Rawhide package ships
> libphobos-ldc.so and related links but there is no .a file.

Currently, building LDC straight from Git only gives you either the shared or the static libraries. We definitely want to offer both in the next release packages, though. From your description, I gather that Debian already does just the same thing.

> The most important thing here is what should be the name of the
> library, should it have a 2?

Yes, phobos2-ldc is the correct name of the library, in analogy to DMD's phobos2.

> Should the Fedora package be remade?

Probably, yes. I'd encourage you to file a bug on their tracker – apparently they modify the library name on purpose. As to why this could be, I don't really have an idea (before shared library support, the name used to be "libphobos-ldc.a" without the "2", but different D releases are not binary-compatible anyway).

> Do I need to cope with both in the SCons tooling?

If you just use LDC for linking, you don't need to care at all, as long as they configure the compiler correctly. I don't know whether this is an option for you, though.

Best,
David
December 22, 2014
On Sun, 2014-12-21 at 20:44 +0100, David Nadlinger via digitalmars-d-ldc wrote:
> 
[…]
> Currently, building LDC straight from Git only gives you either the shared or the static libraries. We definitely want to offer both in the next release packages, though. From your description, I gather that Debian already does just the same thing.

The dynamic libraries are in the ldc package, the static library and the module sources in the ldc-dev package (names probably no quite right, I am currently on Fedora and it's not easy to check.

I think building from Git should create both dynamic and static always.

> > 
[…]
> Yes, phobos2-ldc is the correct name of the library, in analogy to
> DMD's
> phobos2.

Splendid, I took the right view yesterday in my SCons patch. :-)

> > Should the Fedora package be remade?
> 
> Probably, yes. I'd encourage you to file a bug on their tracker –
> apparently they modify the library name on purpose. As to why this
> could
> be, I don't really have an idea (before shared library support, the
> name
> used to be "libphobos-ldc.a" without the "2", but different D
> releases are not binary-compatible anyway).

I'll see what I can do. For now I have put a hack into SCons based on phobos2-ldc being the correct name and phobos-ldc being a Fedora aberration.

> > Do I need to cope with both in the SCons tooling?
> 
> If you just use LDC for linking, you don't need to care at all, as long as they configure the compiler correctly. I don't know whether this is an option for you, though.
> 

At the moment I am not using D at all, just keeping as up-to-date as I can, I have though had to fix the SCons D tooling to try and get "all green" ready for a new SCons release.

The issue has been the -defaultlib option that is required to build shared libraries.


-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder