Bug#962184: [Help] Re: jellyfish FTBFS on 32bit

2020-12-02 Thread Nilesh Patra
Hi Andreas,

On Thu, 3 Dec 2020 at 03:04, Andreas Tille  wrote:

> Control: tags -1 help
>
> Hi,
>
> I guess this bug is relatively easy to fix by some explicit typing - but
> I'm lacking the C++ knowledge to find out where.
>

Attaching a patch for this, it goes past this.
However, the build-time tests fail on 32-bit arches - on exploring the test
files, it looks like (with some confidence at least) that its due to large
valued numbers in test files, which is (probably) beyond what a 32-bit arch
can digest.

Maybe it is sensible to disable tests (both build-time and autopkgtest) for
that 32-bit arch, but I leave that up to you to check and decide :-)

Kind regards
Nilesh
--- a/include/jellyfish/rectangular_binary_matrix.hpp
+++ b/include/jellyfish/rectangular_binary_matrix.hpp
@@ -118,7 +118,7 @@
   uint64_t *p = _columns;
   while(*p == 0 && p < _columns + _c)
 ++p;
-  return (p - _columns) == _c;
+  return static_cast(p - _columns) == _c;
 }
 
 // Randomize the content of the matrix
--- a/include/jellyfish/mer_dna.hpp
+++ b/include/jellyfish/mer_dna.hpp
@@ -693,7 +693,7 @@
 
   char buffer[mer.k() + 1];
   is.read(buffer, mer.k());
-  if(is.gcount() != mer.k())
+  if(static_cast(is.gcount()) != mer.k())
 goto error;
   buffer[mer.k()] = '\0';
   if(!mer.from_chars(buffer))
--- a/unit_tests/test_mer_dna.cc
+++ b/unit_tests/test_mer_dna.cc
@@ -466,7 +466,7 @@
 
 // Get bits by right-shifting
 typename TypeParam::Type cm(m);
-for(unsigned int j = 1; j < start; j += 2)
+for(unsigned long int j = 1; start>=0 && j < static_cast(start); j += 2)
   cm.shift_right(0); // Shift by 2 bits
 typename TypeParam::Type::base_type y = cm.word(0);
 if(start & 0x1)


Bug#962184: [Help] Re: jellyfish FTBFS on 32bit

2020-12-02 Thread Andreas Tille
Control: tags -1 help

Hi,

I guess this bug is relatively easy to fix by some explicit typing - but
I'm lacking the C++ knowledge to find out where.

Kind regards

  Andreas.

-- 
http://fam-tille.de