Closed JanezCim closed 1 year ago
Hi @JanezCim.
It compiles fine on my normal computer. There must be some weird compiler behaviour. Try changing to
const size_t step = std::max<size_t>(num_points / 100, 1ul);
or
const size_t step = std::max((size_t)(num_points / 100), (size_t)(1ul));
There may be some wrong type deduction from the compiler. Please let me know if it fixes anything.
Setting
const size_t step = std::max<size_t>(num_points / 100, 1ul);
fixed the problem, it now compiles, albeit with a warning:
Warnings << iris_lama_ros:make /home/ubuntu/iris_ws/logs/iris_lama_ros/build.make.000.log
In file included from /usr/include/c++/9/vector:72,
from /opt/ros/noetic/include/nav_msgs/GetMapRequest.h:10,
from /opt/ros/noetic/include/nav_msgs/GetMap.h:11,
from /home/ubuntu/iris_ws/src/iris_lama_ros/src/loc2d_ros.cpp:34:
/usr/include/c++/9/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const Eigen::Matrix<double, 3, 1, 0, 3, 1>&}; _Tp = Eigen::Matrix<double, 3, 1>; _Alloc = std::allocator<Eigen::Matrix<double, 3, 1> >]’:
/usr/include/c++/9/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector<Eigen::Matrix<double, 3, 1> >::iterator’ {aka ‘__gnu_cxx::__normal_iterator<Eigen::Matrix<double, 3, 1>*, std::vector<Eigen::Matrix<double, 3, 1> > >’} changed in GCC 7.1
426 | vector<_Tp, _Alloc>::
| ^~~~~~~~~~~~~~~~~~~
That is an ABI warning, as described here.
Maybe recompile everthing?
deleted and recompiled everything, the warning is still showing. I'd simply ignore it for now and call this solved
Hey @eupedrosa, i have a problem compiling iris on rpi4, heres what im doing:
Raspberry pi 4 rev 1.4