Bug#708604: roboptim-core: FTBFS on 32-bit systems: comparison between signed and unsigned integer expressions
Aaron M. Ucko
ucko at debian.org
Fri May 17 02:15:32 UTC 2013
Source: roboptim-core
Version: 2.0-1
Severity: serious
Justification: fails to build from source
Builds of roboptim-core for 32-bit architectures have been failing:
In file included from /.../roboptim-core-2.0/tests/visualization-gnuplot-differentiable-function.cc:26:0:
/.../roboptim-core-2.0/include/roboptim/core/visualization/gnuplot-differentiable-function.hh: In function 'roboptim::visualization::gnuplot::Command roboptim::visualization::gnuplot::plot_jac(const DifferentiableFunction&, const argument_t&)':
/.../roboptim-core-2.0/include/roboptim/core/visualization/gnuplot-differentiable-function.hh:68:52: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
/.../roboptim-core-2.0/include/roboptim/core/visualization/gnuplot-differentiable-function.hh:69:52: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
/.../roboptim-core-2.0/include/roboptim/core/visualization/gnuplot-differentiable-function.hh:74:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1plus: all warnings being treated as errors
make[3]: *** [tests/CMakeFiles/visualization-gnuplot-differentiable-function.dir/visualization-gnuplot-differentiable-function.cc.o] Error 1
It looks like the offending comparisons are between unsigned int and
Eigen::DenseIndex, which defaults to ptrdiff_t. On 64-bit
architectures, it doesn't matter that ptrdiff_t is signed, because
it's still wide enough to encompass unsigned int's full range;
however, 32-bit architectures don't fare so well. As such, I'd
recommend changing the relevant variables' types to DenseIndex to
ensure consistency with Eigen and avoid trouble anywhere.
Could you please take a look yourself?
Thanks!
More information about the debian-science-maintainers
mailing list