zang09 / ORB_SLAM3_ROS2

ROS2 wrapping package for orbslam3 library
183 stars 65 forks source link

colcon build infinite after 66% done #14

Open Dan010123 opened 11 months ago

Dan010123 commented 11 months ago

Hi! I use ROS2 Humble on WSL Ubuntu witn Intel i5-10600K processor. tried several times to build with colcon build --symlink-install --packages-select orbslam3 last time was waiting for 1 hour, but nothing happaned, it stuck on 66% I tried to verbose the output with colcon build --symlink-install --packages-select orbslam3 --event-handlers console_direct+ --cmake-args -DCMAKE_VERBOSE_MAKEFILE=ON

And after 2 hours i got "c++: fatal error: Killed signal terminated program cc1plus"

.... .... /home/dan/ros2_ws/src/orbslam3_ros2/src/stereo-inertial/stereo-inertial.cpp: In function ‘int main(int, char)’: /home/dan/ros2_ws/src/orbslam3_ros2/src/stereo-inertial/stereo-inertial.cpp:22:19: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 22 | argv[4] = "false"; | ^~~ c++: fatal error: Killed signal terminated program cc1plus compilation terminated. gmake[2]: [CMakeFiles/stereo-inertial.dir/build.make:93: CMakeFiles/stereo-inertial.dir/src/stereo-inertial/stereo-inertial-node.cpp.o] Error 1 gmake[2]: Waiting for unfinished jobs.... gmake[1]: [CMakeFiles/Makefile2:224: CMakeFiles/stereo-inertial.dir/all] Error 2 gmake[1]: Waiting for unfinished jobs.... /usr/bin/ld: CMakeFiles/stereo.dir/src/stereo/stereo-slam-node.cpp.o: undefined reference to symbol '_ZN2cv23initUndistortRectifyMapERKNS_11_InputArrayES2_S2_S2_NS_5Size_IiEEiRKNS_12OutputArrayES7' /usr/bin/ld: /lib/x86_64-linux-gnu/libopencv_calib3d.so.4.5d: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status gmake[2]: [CMakeFiles/stereo.dir/build.make:221: stereo] Error 1 gmake[1]: [CMakeFiles/Makefile2:198: CMakeFiles/stereo.dir/all] Error 2 gmake: *** [Makefile:149: all] Error 2

Failed <<< orbslam3 [2h 0min 27s, exited with code 2] Summary: 0 packages finished [2h 0min 36s]

** and when trying to bult it again I get error

usr/bin/ld: CMakeFiles/stereo.dir/src/stereo/stereo-slam-node.cpp.o: undefined reference to symbol '_ZN2cv23initUndistortRectifyMapERKNS_11_InputArrayES2_S2_S2_NS_5Size_IiEEiRKNS_12OutputArrayES7' /usr/bin/ld: /lib/x86_64-linux-gnu/libopencv_calib3d.so.4.5d: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

What could be wrong? Thanks!

KamalanathanN commented 7 months ago

Had this same issue, adding opencv arguments in CMakeLists.txt as mentioned here : https://github.com/alsora/ros2-ORB_SLAM2/issues/8 worked for me.