[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