When 1.18 arrives I think it is a good time to get sambamba and biod in Debian again.
On Thu, Nov 28, 2019 at 03:42:20PM +0100, Matthias Klumpp wrote: > Am Do., 28. Nov. 2019 um 15:19 Uhr schrieb Andreas Tille <andr...@an3as.eu>: > > > > Hi Pjotr, > > > > On Thu, Nov 28, 2019 at 07:50:34AM -0600, Pjotr Prins wrote: > > > Dear Andreas and Matthias, > > > > > > Good news, I think I have fixed the Sambamba bug! After a 3 day bug > > > hunt. Thanks Andreas for pushing me again. Let me ping you when I have > > > a new release. I need to do some performance testing still. But no > > > more segfaults using the Debian ldc 1.17 compiler. > > > > Very cool! Just waiting for your ping. :-) > > > > > With regard to BioD I suggest the following: > > > > > > 1. We create libraries libbiod.so and libbiod.a which ship with D > > > source code - they act like header files in C. > > > 2. sambamba uses these header files to build (not linking against the > > > shared lib) > > > > > > The reason is simply performance. The ldc compiler is capable of heavy > > > optimizations (mostly unrolling loops and inlining code) when it has > > > all code available. Point I am making that code is available anyway. > > > > > > You can choose to change that compile time behaviour by linking > > > against a shared lib, but just realise you'll end with a much slower > > > sambamba. The BioD source code shoud be included because you can't > > > build anything without it. > > > > As we discussed at BioHackathon: I just got your point but I have no > > idea how to implement that source code shipping model for the > > libbiod-dev package. I'm fine with whatever is done with D packaging > > in Debian. > > > > To get some numbers: Do you think rinning test/test_suite.sh could > > give some impression about the performance gain / loss? > > So, we absolutely have to build this separately, ideally using Meson, > in Debian - otherwise transitions to newer or different D compilers > will become an even bigger mess than they already are. Also, embedded > code copies are explicitly forbidden by the Debian Policy. > So, libbiod needs a Meson build file or Makefile or anything that > generates a library installed to a system path that sambamba can find > later. > BUT it doesn't mean that the library has to be a shared library. If > you find that linking libbiod statically into sambamba increases > performance significantly, we can make the libbiod package generate > both a shared and static library and then make sambamba prefer the > static library. This should make transition handling possible as it > used to (our tracker is smart enough to detect this), satisfy Debian > policy and reduce the speed impact on sambamba. > > I have been on vacation for a while and then needed to go through a > lot of stuff @work, so sorry for replying late and also I hope I > understand the problem correctly. > FWIW, very, very soon (maybe this week) LDC 1.18 will land in Debian, > so these packages will go through yet another transition. If you can > make sure they build & work with LDC 1.18, it would be very great. > > Cheers, > Matthias > > > > > -- > I welcome VSRE emails. See http://vsre.info/