[Debian-med-packaging] Bug#927166: Any chance to get libbiod compiling again?

Matthias Klumpp matthias at tenstral.net
Wed Sep 18 15:54:16 BST 2019


Am Fr., 13. Sept. 2019 um 22:51 Uhr schrieb Andreas Tille <andreas at an3as.eu>:
>
> On Fri, Sep 13, 2019 at 03:37:32PM +0200, Matthias Klumpp wrote:
> > Am Fr., 13. Sept. 2019 um 15:21 Uhr schrieb Andreas Tille <andreas at an3as.eu>:
> > > /usr/bin/ld.gold: error: bin/biod_tests.o: multiple definition of '_d_execBssBegAddr'
> > > /usr/bin/ld.gold: contrib/undead/*/__main.o: previous definition here
> > > /usr/bin/ld.gold: error: bin/biod_tests.o: multiple definition of '_d_execBssEndAddr'
> > > /usr/bin/ld.gold: contrib/undead/*/__main.o: previous definition here
> > > collect2: error: ld returned 1 exit status
> > > [...]
> >
> > It's very likely that undeaD needs to be updated first in order to
> > compile this again.
> > Has upgrading that been attempted yet?
>
> I just upgraded libundead and re-added it to libbiod (I assumed libundead
> would not have been needed for libbiod any more and thus it was removed)
> Now the error is:

When I try to compile libbiod now, I get this error:
```
../bio/bam/baseinfo.d-mixin-165(165): Error: Options at
../bio/bam/baseinfo.d(579) conflicts with Options at
../bio/bam/baseinfo.d(482)
../bio/bam/baseinfo.d(175):        called from here: getRangeMethods()
../bio/bam/baseinfo.d(278): Error: template instance
`bio.bam.baseinfo.PerBaseInfo!(BamRead, "FZ", "MD", cast(Option)0,
cast(Option)1, cast(Option)2, cast(Option)3)` error instantiating
../test/unittests.d(382):        instantiated from here:
basesWith!(BamRead, MixinArg!(string, "flowOrder"), MixinArg!(string,
"keySequence"))
[100/177] ldc2 -I=biod_test at exe -I=. -I=.. -I/usr/include/d
-enable-color -O -g -release -wi -unittest
-of='biod_test at exe/bio_bam_cigar.d.o' -c ../bio/bam/cigar.d
[101/177] ldc2 -I=biod_test at exe -I=. -I=.. -I/usr/include/d
-enable-color -O -g -release -wi -unittest
-of='biod_test at exe/bio_bam_tagvalue.d.o' -c ../bio/bam/tagvalue.d
[102/177] ldc2 -I=biod_test at exe -I=. -I=.. -I/usr/include/d
-enable-color -O -g -release -wi -unittest
-of='biod_test at exe/bio_bam_bai_indexing.d.o' -c
../bio/bam/bai/indexing.d
[103/177] ldc2 -I=biod_test at exe -I=. -I=.. -I/usr/include/d
-enable-color -O -g -release -wi -unittest
-of='biod_test at exe/bio_bam_iontorrent_flowcall.d.o' -c
../bio/bam/iontorrent/flowcall.d
[104/177] ldc2 -I=biod_test at exe -I=. -I=.. -I/usr/include/d
-enable-color -O -g -release -wi -unittest
-of='biod_test at exe/bio_bam_thirdparty_msgpack.d.o' -c
../bio/bam/thirdparty/msgpack.d
../bio/bam/thirdparty/msgpack.d(2035): Deprecation: integral promotion
not done for -header, use '-preview=intpromote' switch or
-cast(int)(header)
../bio/bam/thirdparty/msgpack.d(2035): Deprecation: integral promotion
not done for -header, use '-preview=intpromote' switch or
-cast(int)(header)
../bio/bam/thirdparty/msgpack.d(2035): Deprecation: integral promotion
not done for -cast(byte)-header, use '-preview=intpromote' switch or
-cast(int)(cast(byte)-header)
../bio/bam/thirdparty/msgpack.d(2035): Deprecation: integral promotion
not done for -header, use '-preview=intpromote' switch or
-cast(int)(header)
../bio/bam/thirdparty/msgpack.d(2035): Deprecation: integral promotion
not done for -cast(short)-header, use '-preview=intpromote' switch or
-cast(int)(cast(short)-header)
../bio/bam/thirdparty/msgpack.d(2035): Deprecation: integral promotion
not done for -header, use '-preview=intpromote' switch or
-cast(int)(header)
ninja: build stopped: subcommand failed.
dh_auto_build: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j6 -v
returned exit code 1
```
This is definitely an error in BioD itself, caused by a deprecation
that turned into an error in recent LDC versions.
So, libbiod will need to be upgraded for sure to fix this.
In order to support all architectures and generate a pkg-config file I
would have to reintroduce the Meson build definition (which upstream
apparently has removed) or apply some hacks around the existing
Makefile to make that work in a Debian context, which is quite a bit
more work.

Btw, if libundead has no users anymore, removing it completely may be
a good idea - we don't need to maintain something that's dead and has
no users.

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



More information about the Debian-med-packaging mailing list