Source: openvdb
Version: 2.3.0-2
Severity: serious
Justification: fails to build from source (but built successfully in the past)

Builds of openvdb for 32-bit architectures such as i386 have been
failing, with a number of errors of the form

  unittest/TestUtil.cc:147:9: error: no matching function for call to 
'assertEquals(long unsigned int, size_t, CppUnit::SourceLine, const char [1])'
           CPPUNIT_ASSERT_EQUAL(0UL, d.size());
           ^
  /usr/include/cppunit/TestAssert.h:109:6: note: candidate: template<class T> 
void CppUnit::assertEquals(const T&, const T&, CppUnit::SourceLine, const 
string&)
   void assertEquals( const T& expected,
        ^
  /usr/include/cppunit/TestAssert.h:109:6: note:   template argument 
deduction/substitution failed:

because size_t is formally unsigned int rather than unsigned long on
those platforms, even though the two types are equivalent in practice
there.  Meanwhile, 64-bit platforms do still need unsigned long, so my
recommendation would be to replace the UL suffixes with casts to size_t.

Could you please take a look?

Thanks!

Reply via email to