error "no match for operator" with eigen library


using the eigen library causes this error during the build process:


error: no match for 'operator!=' (operand types are 'Eigen::PlainObjectBase<Eigen::Matrix<ceres::
Jet<double, 7>, 1, 2, 1, 1, 2> >::Scalar {aka ceres::Jet<double, 7>}' and 'int')
       if (m_colNormsUpdated.coeffRef(j) != 0) {
/usr/include/ceres/eigen332/Eigen/src/QR/ColPivHouseholderQR.h:559: error: no match for 'operator<' 
(operand types are 'Eigen::ColPivHouseholderQR<Eigen::Matrix<ceres::
Jet<double, 7>, 3, 2, 0, 3, 2> >::RealScalar {aka ceres::Jet<double, 7>}' and 'int')
         temp = temp < 0 ? 0 : temp;

I have tried to rewrite it to

if !(m_colNormsUpdated.coeffRef(j) == 0)

as mentioned in another post, but then “==” isn’t recognized. This is running on Tegra X1 Ubuntu 14.04 32 bit.
Has anyone faced a similar problem? The other posts I have found regarding this issue didn’t helped me.

Your object never had comparison operators defined for that template type. If you have a URL for the object type interface it might be possible to find an alternative, otherwise you’ll have to write your own code to define those operators for those types.