www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Fedora and library name

reply Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
I need some data to (hopefully) win an argument=E2=80=A6

Some time back (the period and version number is part of the issue) on
Fedora, the LDC package used to use the name libphobos-ldc.so whilst
the very same version of LDC on Debian used libphobos2-ldc.so.  At that
time, I put in a special exception in the ldc tool of SCons to cover
this. It's ugly.

I now see that the LDC package on Fedora uses libphobos2-ldc.so the
same as Debian (and I assume everyone else).

In my usual forward looking, who cares about backward compatibility,
way I have proposed removing the "Fedora Exception" and made a pull
request to SCons to this effect. Bill being far more careful for the
users, i.e. taking a far more professional view of backward
compatibility, is saying "no leave the exception in place".

Rather than just argue this in an abstract way, I think it better to
gather some (at least partial) data.

If the LDC packagers are listening, or indeed anyone who has actual
data, do we know:

1. Which version of LDC package on Fedora switched from libphobos-
ldc.so to libphobos2-ldc.so?=20

2. Which version of Fedora was the last version of Fedora with
libphobos-ldc.so as the library name?

3. Is this Fedora version still maintained by Red Hat?

4. What is the situation with RHEL and CentOS? Did the LDC package ever
reach there, and is the libphobos-ldc.so name still used in those
versions.

5. Is anyone using LDC on RHEL and CentOS?

My guess, is that no-one using LDC on Fedora is using old LDC so there
is no problem there. However, Bill's caution may be justified if people
are using ancient LDC and modern SCons on RHEL or CentOS. My argument
is that if anyone is using an old enough LDC to see the problem they
are unlikely to be using an up to date SCons.

But guessing is bad, hence this request for data.

--=20
Russel.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder ekiga.n=
et
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
May 01
parent reply Mike Wey <mike-wey example.com> writes:
On 05/02/2017 08:56 AM, Russel Winder via digitalmars-d-ldc wrote:
 I need some data to (hopefully) win an argument…
 
 Some time back (the period and version number is part of the issue) on
 Fedora, the LDC package used to use the name libphobos-ldc.so whilst
 the very same version of LDC on Debian used libphobos2-ldc.so.  At that
 time, I put in a special exception in the ldc tool of SCons to cover
 this. It's ugly.
 
 I now see that the LDC package on Fedora uses libphobos2-ldc.so the
 same as Debian (and I assume everyone else).
I don't know when Fedora switched, but Archlinux uses liblphobos2.so ;) -- Mike Wey
May 02
next sibling parent reply Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On Tue, 2017-05-02 at 19:13 +0200, Mike Wey via digitalmars-d-ldc
wrote:
 On 05/02/2017 08:56 AM, Russel Winder via digitalmars-d-ldc wrote:
 I need some data to (hopefully) win an argument=E2=80=A6
=20
 Some time back (the period and version number is part of the issue)
 on
 Fedora, the LDC package used to use the name libphobos-ldc.so
 whilst
 the very same version of LDC on Debian used libphobos2-ldc.so.=C2=A0=C2=
=A0At
 that
 time, I put in a special exception in the ldc tool of SCons to
 cover
 this. It's ugly.
=20
 I now see that the LDC package on Fedora uses libphobos2-ldc.so the
 same as Debian (and I assume everyone else).
=20 I don't know when Fedora switched, but Archlinux uses liblphobos2.so ;)
This could be an Oh #### :-( So when compiling for shared object usage on Arch you have to use the command line options: -shared -defaultlib=3Dlphobos instead of: -shared -defaultlib=3Dphobos2-ldc It seems then that no-one using Arch is using SCons working with D. Is there any way of getting CI on Arch for a person who uses only Debian and Fedora? =20 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 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
May 02
parent Dicebot <public dicebot.lv> writes:
On Tuesday, 2 May 2017 at 18:24:37 UTC, Russel Winder wrote:
 This could be an Oh #### :-(

 So when compiling for shared object usage on Arch you have to 
 use the command line options:

 -shared -defaultlib=lphobos

 instead of:

 -shared -defaultlib=phobos2-ldc
Unless whoever maintains Arch packages has fixed it, shared standard library is default and only available option for LDC there, no need to specify anything to use it.
May 04
prev sibling parent David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 2 May 2017, at 19:24, Russel Winder via digitalmars-d-ldc wrote:
 This could be an Oh #### :-(
There shouldn't be a reason to hard-code library names just to use shared libraries anyway. You might be interested in the following PR: https://github.com/ldc-developers/ldc/pull/2044. Initially, I was opposed to this (C/C++ libraries sometimes ship with a dynamic as well as a static version of the same name just fine), but it seems like I underestimated the amount of ways this can go wrong in the real world (i.e. distro packages, etc.). With something like that, choosing between static and shared libraries should just be a single command line flag. (Of course, this doesn't help in the slightest with your backwards-incompatibility issues.)
 instead of:

 -shared -defaultlib=phobos2-ldc
Why would you want to remove druntime from the list of linked libraries? — David
May 03