第七章用源码colcon build时候报错是什么情况呀?
-
-
求回复 拜托拜托,之前用过一次,但是换成gitee的代码后就这样了,换回来也不行
-
-
我是source install时候发现失败,然后发现colcon build的时候就失败了,第一遍用的github上时候还能用,然后学到7.3.2发现没有代价地图,然后改用gitee,然后colcon build时候就报错,返回用github时候依旧报错
-
1,版本是foxy版本
2,终端日志:sk@sk-virtual-machine:~/chapt7/chapt7_ws$ colcon build
Starting >>> autopatrol_interfaces
Starting >>> autopatrol_robot
Starting >>> fishbot_application
Starting >>> fishbot_application_cpp
Starting >>> fishbot_description
Starting >>> fishbot_navigation2
Finished <<< fishbot_application [1.87s]
Finished <<< autopatrol_robot [1.90s]
Finished <<< fishbot_navigation2 [2.17s]
Finished <<< fishbot_description [2.20s]
Finished <<< autopatrol_interfaces [7.11s]
--- stderr: fishbot_application_cpp
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp: In member function ‘void NavToPoseClient::sendGoal()’:
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:40:9: error: no match for ‘operator=’ (operand types are ‘rclcpp_action::Client<nav2_msgs::action::NavigateToPose>::GoalResponseCallback’ {aka ‘std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>’} and ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’)
40 | };
| ^
In file included from /usr/include/c++/9/future:48,
from /opt/ros/foxy/include/rclcpp/executors.hpp:18,
from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
from /home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:4:
/usr/include/c++/9/bits/std_function.h:462:7: note: candidate: ‘std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(const std::function<_Res(_ArgTypes ...)>&) [with _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
462 | operator=(const function& __x)
| ^~~~~~~~
/usr/include/c++/9/bits/std_function.h:462:33: note: no known conversion for argument 1 from ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ to ‘const std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&’
462 | operator=(const function& __x)
|~~~~~~^
/usr/include/c++/9/bits/std_function.h:480:7: note: candidate: ‘std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::function<_Res(_ArgTypes ...)>&&) [with _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
480 | operator=(function&& __x) noexcept
| ^
/usr/include/c++/9/bits/std_function.h:480:28: note: no known conversion for argument 1 from ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ to ‘std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&&’
480 | operator=(function&& __x) noexcept
| ~~^
/usr/include/c++/9/bits/std_function.h:494:7: note: candidate: ‘std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::nullptr_t) [with _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}; std::nullptr_t = std::nullptr_t]’
494 | operator=(nullptr_t) noexcept
| ^
/usr/include/c++/9/bits/std_function.h:494:17: note: no known conversion for argument 1 from ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ to ‘std::nullptr_t’
494 | operator=(nullptr_t) noexcept
| ^
/usr/include/c++/9/bits/std_function.h:523:2: note: candidate: ‘template<class _Functor> std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<typename std::decay<_Functor>::type>, std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes ...)>::operator=(_Functor&&) [with _Functor = _Functor; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
523 | operator=(_Functor&& __f)
| ^
/usr/include/c++/9/bits/std_function.h:523:2: note: template argument deduction/substitution failed:
/usr/include/c++/9/bits/std_function.h: In substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using _Requires = typename std::enable_if<_Cond::value, _Tp>::type [with _Cond = std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::_Callable<NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>, std::__invoke_result<NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>&, std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > > > >; _Tp = std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’:
/usr/include/c++/9/bits/std_function.h:523:2: required by substitution of ‘template<class _Functor> std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::_Requires<std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::_Callable<typename std::decay<_Tp>::type, std::__invoke_result<typename std::decay<_Tp>::type&, std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > > > >, std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&> std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::operator=<_Functor>(_Functor&&) [with _Functor = NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>]’
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:40:9: required from here
/usr/include/c++/9/bits/std_function.h:385:8: error: no type named ‘type’ in ‘struct std::enable_if<false, std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&>’
385 | using _Requires = typename enable_if<_Cond::value, _Tp>::type;
| ^~~~~~~~~
/usr/include/c++/9/bits/std_function.h:532:2: note: candidate: ‘template<class _Functor> std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::reference_wrapper<_Functor>) [with _Functor = _Functor; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
532 | operator=(reference_wrapper<_Functor> __f) noexcept
| ^~~~~~~~
/usr/include/c++/9/bits/std_function.h:532:2: note: template argument deduction/substitution failed:
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:40:9: note: ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ is not derived from ‘std::reference_wrapper<_Tp>’
40 | };
| ^
make[2]: *** [CMakeFiles/nav2pose.dir/build.make:63:CMakeFiles/nav2pose.dir/src/nav2pose.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:78:CMakeFiles/nav2pose.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2Failed <<< fishbot_application_cpp [7.27s, exited with code 2]
Summary: 5 packages finished [7.63s]
1 package failed: fishbot_application_cpp
1 package had stderr output: fishbot_application_cpp -
@小鱼 您看一下这个终端报错
-
@shawn 在 第七章用源码colcon build时候报错是什么情况呀? 中说:
/foxy/include/rc
- 你的系统版本不对,应该用22,代码是22的
- 可以删除该包尝试
@shawn 在 第七章用源码colcon build时候报错是什么情况呀? 中说:
fishbot_application_cpp
-
@小鱼
1,系统升级到22后,colcon build依然报错
sk@sk-virtual-machine:~/chapt7/chapt7_ws$ colcon build
Starting >>> autopatrol_interfaces
Starting >>> autopatrol_robot
Starting >>> fishbot_application
Starting >>> fishbot_application_cpp
Starting >>> fishbot_description
Starting >>> fishbot_navigation2
Finished <<< autopatrol_robot [3.80s]
Finished <<< fishbot_application [3.80s]
Finished <<< fishbot_navigation2 [5.13s]
Finished <<< fishbot_description [5.16s]
--- stderr: fishbot_application_cpp
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp: In member function ‘void NavToPoseClient::sendGoal()’:
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:40:9: error: no match for ‘operator=’ (operand types are ‘rclcpp_action::Client<nav2_msgs::action::NavigateToPose>::GoalResponseCallback’ {aka ‘std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>’} and ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’)
40 | };
| ^
In file included from /usr/include/c++/11/functional:59,
from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /opt/ros/foxy/include/rosidl_runtime_cpp/bounded_vector.hpp:18,
from /opt/ros/foxy/include/nav2_msgs/action/detail/navigate_to_pose__struct.hpp:8,
from /opt/ros/foxy/include/nav2_msgs/action/navigate_to_pose.hpp:7,
from /home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:3:
/usr/include/c++/11/bits/std_function.h:530:9: note: candidate: ‘template<class _Functor> std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<_Functor>, std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes ...)>::operator=(_Functor&&) [with _Functor = _Functor; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
530 | operator=(_Functor&& __f)
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:530:9: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/move.h:57,
from /usr/include/c++/11/bits/stl_pair.h:59,
from /usr/include/c++/11/bits/stl_algobase.h:64,
from /usr/include/c++/11/memory:63,
from /home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:1:
/usr/include/c++/11/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using __enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&]’:
/usr/include/c++/11/bits/std_function.h:353:8: required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using _Requires = std::__enable_if_t<_Cond::value, _Tp> [with _Cond = std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::_Callable<NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>, NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>, std::__invoke_result<NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>&, std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > > > >; _Tp = std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
/usr/include/c++/11/bits/std_function.h:530:2: required by substitution of ‘template<class _Functor> std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::_Requires<std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::_Callable<_Functor, typename std::enable_if<(! std::is_same<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type, std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)> >::value), std::decay<_Tp> >::type::type, std::__invoke_result<typename std::enable_if<(! std::is_same<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type, std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)> >::value), std::decay<_Tp> >::type::type&, std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > > > >, std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&> std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>::operator=<_Functor>(_Functor&&) [with _Functor = NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>]’
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:40:9: required from here
/usr/include/c++/11/type_traits:2205:11: error: no type named ‘type’ in ‘struct std::enable_if<false, std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&>’
2205 | using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
| ^~~~~~~~~~~~~
In file included from /usr/include/c++/11/functional:59,
from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /opt/ros/foxy/include/rosidl_runtime_cpp/bounded_vector.hpp:18,
from /opt/ros/foxy/include/nav2_msgs/action/detail/navigate_to_pose__struct.hpp:8,
from /opt/ros/foxy/include/nav2_msgs/action/navigate_to_pose.hpp:7,
from /home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:3:
/usr/include/c++/11/bits/std_function.h:540:9: note: candidate: ‘template<class _Functor> std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::reference_wrapper<_Functor>) [with _Functor = _Functor; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
540 | operator=(reference_wrapper<_Functor> __f) noexcept
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:540:9: note: template argument deduction/substitution failed:
/home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:40:9: note: ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ is not derived from ‘std::reference_wrapper<_Tp>’
40 | };
| ^
In file included from /usr/include/c++/11/functional:59,
from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /opt/ros/foxy/include/rosidl_runtime_cpp/bounded_vector.hpp:18,
from /opt/ros/foxy/include/nav2_msgs/action/detail/navigate_to_pose__struct.hpp:8,
from /opt/ros/foxy/include/nav2_msgs/action/navigate_to_pose.hpp:7,
from /home/sk/chapt7/chapt7_ws/src/fishbot_application_cpp/src/nav2pose.cpp:3:
/usr/include/c++/11/bits/std_function.h:469:7: note: candidate: ‘std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(const std::function<_Res(_ArgTypes ...)>&) [with _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
469 | operator=(const function& __x)
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:469:33: note: no known conversion for argument 1 from ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ to ‘const std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&’
469 | operator=(const function& __x)
| ~~~^
/usr/include/c++/11/bits/std_function.h:487:7: note: candidate: ‘std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::function<_Res(_ArgTypes ...)>&&) [with _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}]’
487 | operator=(function&& __x) noexcept
| ^
/usr/include/c++/11/bits/std_function.h:487:28: note: no known conversion for argument 1 from ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ to ‘std::function<void(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >)>&&’
487 | operator=(function&& __x) noexcept
| ~~^
/usr/include/c++/11/bits/std_function.h:501:7: note: candidate: ‘std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::nullptr_t) [with _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose> > >}; std::nullptr_t = std::nullptr_t]’
501 | operator=(nullptr_t) noexcept
| ^
/usr/include/c++/11/bits/std_function.h:501:17: note: no known conversion for argument 1 from ‘NavToPoseClient::sendGoal()::<lambda(rclcpp_action::ClientGoalHandle<nav2_msgs::action::NavigateToPose>::SharedPtr)>’ to ‘std::nullptr_t’
501 | operator=(nullptr_t) noexcept
| ^
gmake[2]: *** [CMakeFiles/nav2pose.dir/build.make:76:CMakeFiles/nav2pose.dir/src/nav2pose.cpp.o] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:137:CMakeFiles/nav2pose.dir/all] 错误 2
gmake: *** [Makefile:146:all] 错误 2Failed <<< fishbot_application_cpp [13.7s, exited with code 2]
Aborted <<< autopatrol_interfaces [14.1s]Summary: 4 packages finished [17.5s]
1 package failed: fishbot_application_cpp
1 package aborted: autopatrol_interfaces
2 packages had stderr output: autopatrol_interfaces fishbot_application_cpp
sk@sk-virtual-machine:~/chapt7/chapt7_ws$ cat /proc/version
Linux version 5.15.0-139-generic (buildd@lcy02-amd64-029) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #149-Ubuntu SMP Fri Apr 11 22:06:13 UTC 2025
sk@sk-virtual-machine:~/chapt7/chapt7_ws$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy2,删除fishbot_application_cpp文件后正常,但是source install/setup.bash报not found: "/home/sk/chapt7/chapt7_ws/install/fishbot_application_cpp/share/fishbot_application_cpp/local_setup.bash"