[Debian-med-packaging] Bug#920282: (no subject)
Boud Roukema
boud-debian at cosmo.torun.pl
Wed Jan 23 15:32:57 GMT 2019
Source: abyss
Version: 2.1.5-3
Severity: important
SUMMARY: abyss fails to build on hurd - googletest EXPECT_DEATH
DISCOVERY:
Found by Samuel Thibault as followup of
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920240
DESCRIPTION:
Abyss-2.1.5-3 + the patch
https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=920240;filename=hurd;msg=15
gives the build error on hurd:
Common/SAM.cc: In member function 'virtual void parseCigarDeath_invalid_cigar_Test::TestBody()':
Common/SAM.cc:62:2: error: 'EXPECT_DEATH' was not declared in this scope
EXPECT_DEATH(SAMAlignment::parseCigar("20SS", false), "error: invalid CIGAR: `20SS'");
^~~~~~~~~~~~
This might be a conflict between gtest-dev (googletest) 1.7.0 and 1.8.1-3.
CONTEXT:
On the exodar GNU/hurd emulation:
$ uname -a
GNU exodar 0.9 GNU-Mach 1.8+git20181103-486-dbg/Hurd-0.9 i686-AT386 GNU
$ cat /proc/hostinfo
Basic info:
max_cpus = 1 /* max number of cpus possible */
avail_cpus = 1 /* number of cpus now available */
memory_size = 3221151744 /* size of memory in bytes */
cpu_type = 19 /* cpu type */
cpu_subtype = 1 /* cpu subtype */
Scheduling info:
min_timeout = 10 /* minimum timeout in milliseconds */
min_quantum = 100 /* minimum quantum in milliseconds */
Load info:
avenrun[3] = { 0.10, 0.28, 0.60 }
mach_factor[3] = { 0.89, 0.81, 0.64 }
$ dpkg -l |egrep "abyss|gcc|g\+\+|google|gtest"
ii g++ 4:8.2.0-2 hurd-i386 GNU C++ compiler
ii g++-8 8.2.0-14 hurd-i386 GNU C++ compiler
ii gcc 4:8.2.0-2 hurd-i386 GNU C compiler
ii gcc-8 8.2.0-14 hurd-i386 GNU C compiler
ii gcc-8-base:hurd-i386 8.2.0-14 hurd-i386 GCC, the GNU Compiler Collection (base package)
ii googletest:hurd-i386 1.8.1-3 hurd-i386 Google's C++ test framework sources
ii libgcc-8-dev:hurd-i386 8.2.0-14 hurd-i386 GCC support library (development files)
ii libgcc1:hurd-i386 1:8.2.0-14 hurd-i386 GCC support library
ii libgtest-dev:hurd-i386 1.8.1-3 hurd-i386 Google's framework for writing C++ tests
REPRODUCE:
On exodar:
$ apt-get source abyss
$ apt-get build-dep abyss
$ patch --verbose -p1 < file.patch
where file.patch is the content of:
https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=920240;filename=hurd;msg=15
$ fakeroot debian/rules binary
...
make[3]: Entering directory '/home/boud-guest/abyss-2.1.5/Unittest'
make[3]: 'common_stringutil' is up to date.
make[3]: 'common_histogram' is up to date.
make[3]: 'common_bitutil' is up to date.
make[3]: 'common_kmer' is up to date.
make[3]: 'common_sequence' is up to date.
make[3]: 'common_KmerIterator' is up to date.
g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../lib/gtest-1.7.0/include -DGTEST_USE_OWN_TR1_TUPLE=0 -I/home/boud-guest/abyss-2.1.5 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/home/boud-guest/abyss-2.1.5/boost_1_56_0 -Wall -Wextra -pthread -Wno-error -g -O2 -fdebug-prefix-map=/home/boud-guest/abyss-2.1.5=. -fstack-protector-strong -Wformat -Werror=format-security -DGTEST_USE_OWN_TR1_TUPLE=0 -c -o Common/SAM.o Common/SAM.cc
Common/SAM.cc: In member function 'virtual void parseCigarDeath_invalid_cigar_Test::TestBody()':
Common/SAM.cc:62:2: error: 'EXPECT_DEATH' was not declared in this scope
EXPECT_DEATH(SAMAlignment::parseCigar("20SS", false), "error: invalid CIGAR: `20SS'");
^~~~~~~~~~~~
Common/SAM.cc:62:2: note: suggested alternative: 'EXPECT_NEAR'
EXPECT_DEATH(SAMAlignment::parseCigar("20SS", false), "error: invalid CIGAR: `20SS'");
^~~~~~~~~~~~
EXPECT_NEAR
Makefile:1302: recipe for target 'Common/SAM.o' failed
make[3]: *** [Common/SAM.o] Error 1
make[3]: Leaving directory '/home/boud-guest/abyss-2.1.5/Unittest'
Makefile:2060: recipe for target 'check-am' failed
HYPOTHESIS/SUGGESTION:
Does the hardwired directory name lib/gtest-1.7.0/ imply
that the files there are hardwired to version 1.7.0 of
googletest/libgtest-dev? The debian unstable versions
of these are both 1.8.1-3 (see above).
$ grep --color=always -r "1\.7\.0" configure.ac Makefile.am
configure.ac: lib/gtest-1.7.0/Makefile
Makefile.am:GTest=lib/gtest-1.7.0
If the lib/gtest-1.7.0/ directory is self-contained, then
there should not be any dependence in the control file, but:
$ egrep -n "google|gtest" debian/control
12: libgtest-dev,
So my guess is that the lib/gtest-1.7.0/ directory is not self-contained.
Googletest-1.8.1-3 itself built OK on hurd:
https://buildd.debian.org/status/fetch.php?pkg=googletest&arch=hurd-i386&ver=1.8.1-3&stamp=1547345424&raw=0
Lintian gives a "conflicts-with-version" info-level flag for googletest-1.8.1-3 because
of the use of "Conflicts:" instead of "Breaks:", but since the abyss debian/control
doesn't constrain the libgtest-dev version, that's only a problem for googletest,
not directly for abyss:
https://lintian.debian.org/full/smr@debian.org.html#googletest_1.8.1-3
COMMENT: I don't know what the wider Debian community view is on the
severity issue for hurd bugs, so pending a wider opinion, I'm putting
'important'. There *is* a porter box available, and a mailing list
debian-hurd@, and an irc channel #debian-hurd, and so far, I've found
little difficulty as a complete novice to hurd/mach in terms of
bug searching/reporting/fixing. In any case, I'm not going to adjudicate
between you two (Andreas + Samuel), but I have to choose something for
filing the bug report, so my judgment is 'important'.
Hope this bug report helps
Boud
More information about the Debian-med-packaging
mailing list