[Pkg-d-devel] Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)

Matthias Klumpp mak at debian.org
Fri Mar 3 14:31:15 UTC 2017


2017-03-03 14:58 GMT+01:00 Andreas Tille <tille at debian.org>:
> Hi,
>
> On Fri, Mar 03, 2017 at 11:08:32AM +0100, Matthias Klumpp wrote:
>> > Your Meson version is too old, make sure you have one >> 0.38 -
>> > previous versions had a bug making them treat warnings as fatal when
>> > compiling with LDC.
>>
>> I just fixed up the entire package.
>
> Cool, thanks a lot!
>
>> It should work now :-)
>
> Confirmed. ;-)
>
> I wonder whether we should also provide dynamic lib + devel package for
> libundead.  I could investigate how to do this myself - but I guess you
> are faster than me. ;-)

One thing you should know is that D upstream provides to ABI
guarantees at all, so with every new compiler release, the ABI of
binaries could change. With static libraries, we get build failures
then, with shared libraries users will have runtime failures (unless
one maintains a symbols control file, which is less fun with D).
Additionally, libraries built with GDC won't work with LDC and vice
versa. At time, all D shared libraries are explicitly built with LDC,
so inside Debian this is not an issue.
So far, fortunately, no big ABI breaks occured, and we can do
coordinated transitions for bigger changes in the standard library,
since the standard library itself is versioned.

At time, I want to see how far we can get with this, and if the
situation becomes bad at some time, we can always do Haskell-like
transitions (but I want to avoid that). So far, things don't look to
bad.

So, in summary: Every D shared library without a symbols control file
is potentially dangerous. If you want to build a shared lib for undeaD
regardless, it's as easy as changing static_library to library in
meson.build.

Regarding getting the D stack updated in Stretch: I filed an unblock
request and also talked to the release team beforehand, because since
LDC failed to build on ppc64el a lot of packages didn't migrate:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855229 - I think I
will split this large report up into individual unblock requests today
though, so it's easier to process.

> Thanks a lot again for all your help

:-)

-- 
I welcome VSRE emails. See http://vsre.info/



More information about the Pkg-d-devel mailing list