[Debian-med-packaging] [Pkg-d-devel] Next D project question: sambamba needs rdmd

Matthias Klumpp mak at debian.org
Sat Mar 4 21:44:59 UTC 2017


2017-03-04 22:35 GMT+01:00 Andreas Tille <tille at debian.org>:
> Hi Matthias,
>
> On Sat, Mar 04, 2017 at 09:11:38PM +0100, Matthias Klumpp wrote:
>> > rdmd --force --build-only --compiler=dmd -IBioD -g -d -L-l:lhts -L-l:libphobos2.a -L-l:llz4 -ofbuild/sambamba main.d
>> > make[1]: rdmd: Command not found
>> >
>> > But Debian has no rdmd.  Is there anything I can use instead?
>> > [1] https://anonscm.debian.org/git/debian-med/sambamba.git
>>
>> rdmd is part of DMD, and not packaged. Unlike with packaging DMD
>> itself, having rdmd in Debian main is actually possible (no
>> restrictive licenses), and would require to package
>> https://github.com/dlang/tools
>>
>> Alternatively, given that rdmd is really just a wrapper around other
>> commands, you could add the build/link steps manually. The ldmd2
>> command in the LDC package will help you with that (ldmd2 is a
>> dmd-compatible wrapper around LDC, so dmd flags can be reused).
>
> I think I was able to start the compile process with an according patch.
> Unfortunately there is some trouble with libundead.  As per status in
> remote Git libundead is missing.  If I do
>
> diff --git a/debian/control b/debian/control
> index 2799444..fe55d95 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -5,6 +5,7 @@ Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.
>  Uploaders: Andreas Tille <tille at debian.org>
>  Build-Depends: debhelper (>= 10),
>                 ldc,
> +               libundead-dev,
>                 libbiod-dev,
>                 liblz4-dev,
>                 libhts-dev
>
>
> the build ends in
>
>
> make[1]: Entering directory '/build/sambamba-0.6.5'
> mkdir -p build/
> ldmd2 -IBioD -g -d -L-l:lhts -L-l:libphobos2.a -L-l:llz4 -ofbuild/sambamba main.d
> sambamba/slice.d(106): Error: undead.stream.Stream at /usr/include/d/undead/stream.d(390) conflicts with std.stream.Stream at /usr/lib/ldc/x86_64-linux-gnu/include/d/std/stream.d(390)
> sambamba/slice.d(176): Error: undead.stream.Stream at /usr/include/d/undead/stream.d(390) conflicts with std.stream.Stream at /usr/lib/ldc/x86_64-linux-gnu/include/d/std/stream.d(390)
> sambamba/slice.d(197): Error: undead.stream.Stream at /usr/include/d/undead/stream.d(390) conflicts with std.stream.Stream at /usr/lib/ldc/x86_64-linux-gnu/include/d/std/stream.d(390)
> Makefile:19: recipe for target 'all' failed

Weird, looks like there still is a stream module in the standard
library... This should be easily fixyble by replacing std.stream with
undead.stream in
https://anonscm.debian.org/git/debian-med/sambamba.git/tree/sambamba/slice.d#n31

Judging from how upstream's code looks, they should really make a new
release (since this particular issue is fixed there).

Cheers,
    Matthias

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



More information about the Debian-med-packaging mailing list