Source: baitfisher Version: 1.0+dfsg-1 Severity: important Justification: fails to build from source
Builds of baitfisher for 32-bit architectures such as i386 have been failing: range_functions.h: In member function 'bool CRangeList::add(faststring)': range_functions.h:596:31: error: invalid initialization of non-const reference of type 'faststring::size_t& {aka long unsigned int&}' from an rvalue of type 'faststring::size_t {aka long unsigned int}' The issue appears to be that, for some reason, class faststring has (https://anonscm.debian.org/cgit/debian-med/baitfisher.git/tree/faststring2.h#n128) // Shadow the "global" size_t typedef for this class. typedef unsigned long size_t; but CRangeList::add uses the global size_t typedef, which is formally unsigned int on 32-bit systems: https://anonscm.debian.org/cgit/debian-med/baitfisher.git/tree/range_functions.h#n591 size_t pos1=0, pos2, len=str.size(); Although the two types are de facto equivalent on 32-bit architectures, C++ compilers insist on treating them as different. (This problem doesn't occur on 64-bit architectures, on which both size_t typedefs are unsigned long.) Could you please take a look? Thanks! -- Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org) http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?a...@monk.mit.edu