鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    ubuntu22.04编译nav2源码编译报错

    已定时 已固定 已锁定 已移动
    VIP问答专区
    nav2 colcobuild报错
    3
    6
    235
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 5
      流水心清
      最后由 编辑

      标题:[清晰而简洁地总结您的问题]

      问题描述:

      [我在humble上编译nav2的源码时编译报了一个错误, nav2版本时humble]

      具体细节和上下文:

      • [robot@robot-hp:~/project/test_nav2$ ls
        build install log src
        robot@robot-hp:~/project/test_nav2$
        robot@robot-hp:~/project/test_nav2$ colcon build
        [0.503s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
        'nav2_util' is in: /opt/ros/humble
        'nav2_core' is in: /opt/ros/humble
        'nav2_msgs' is in: /opt/ros/humble
        'nav2_costmap_2d' is in: /opt/ros/humble
        'nav2_map_server' is in: /opt/ros/humble
        'nav2_common' is in: /opt/ros/humble
        If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
        If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.

      If you understand the risks and want to override a package anyways, add the following to the command line:
      --allow-overriding nav2_common nav2_core nav2_costmap_2d nav2_map_server nav2_msgs nav2_util

      This may be promoted to an error in a future release of colcon-override-check.
      Starting >>> nav2_common
      Starting >>> nav_2d_msgs
      Finished <<< nav2_common [0.47s]
      Starting >>> nav2_msgs
      Starting >>> nav2_voxel_grid
      Finished <<< nav2_voxel_grid [0.26s]
      Finished <<< nav_2d_msgs [0.88s]
      Starting >>> dwb_msgs
      Finished <<< nav2_msgs [1.01s]
      Starting >>> nav2_util
      Starting >>> nav2_simple_commander
      Finished <<< dwb_msgs [0.92s]
      Finished <<< nav2_util [0.41s]
      Starting >>> nav2_lifecycle_manager
      Starting >>> nav2_map_server
      Starting >>> nav_2d_utils
      Starting >>> nav2_behavior_tree
      Starting >>> nav2_amcl
      Starting >>> nav2_velocity_smoother
      Finished <<< nav2_velocity_smoother [0.20s]
      Finished <<< nav2_lifecycle_manager [0.24s]
      Starting >>> nav2_rviz_plugins
      Finished <<< nav2_amcl [0.28s]
      Finished <<< nav_2d_utils [0.31s]
      Finished <<< nav2_map_server [0.33s]
      Starting >>> nav2_costmap_2d
      Finished <<< nav2_rviz_plugins [0.21s]
      Finished <<< nav2_costmap_2d [0.60s]
      Starting >>> nav2_core
      Starting >>> costmap_queue
      Starting >>> nav2_collision_monitor
      Finished <<< nav2_core [0.11s]
      Starting >>> dwb_core
      Starting >>> nav2_controller
      Starting >>> nav2_regulated_pure_pursuit_controller
      Starting >>> nav2_constrained_smoother
      Starting >>> nav2_mppi_controller
      Starting >>> nav2_navfn_planner
      Starting >>> nav2_planner
      Starting >>> nav2_smac_planner
      Starting >>> nav2_smoother
      Starting >>> nav2_theta_star_planner
      Starting >>> nav2_waypoint_follower
      Finished <<< nav2_simple_commander [1.63s]
      [Processing: costmap_queue, dwb_core, nav2_behavior_tree, nav2_collision_monitor, nav2_constrained_smoother, nav2_controller, nav2_mppi_controller, nav2_navfn_planner, nav2_planner, nav2_regulated_pure_pursuit_controller, nav2_smac_planner, nav2_smoother, nav2_theta_star_planner, nav2_waypoint_follower]
      [Processing: costmap_queue, dwb_core, nav2_behavior_tree, nav2_collision_monitor, nav2_constrained_smoother, nav2_controller, nav2_mppi_controller, nav2_navfn_planner, nav2_planner, nav2_regulated_pure_pursuit_controller, nav2_smac_planner, nav2_smoother, nav2_theta_star_planner, nav2_waypoint_follower]
      --- stderr: nav2_constrained_smoother
      In file included from /usr/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h:346,
      from /usr/include/eigen3/Eigen/Core:22,
      from /usr/include/ceres/internal/fixed_array.h:33,
      from /usr/include/ceres/internal/array_selector.h:38,
      from /usr/include/ceres/internal/autodiff.h:148,
      from /usr/include/ceres/autodiff_cost_function.h:130,
      from /usr/include/ceres/ceres.h:37,
      from /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/smoother_cost_function.hpp:27,
      from /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/smoother.hpp:29,
      from /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/constrained_smoother.hpp:26,
      from /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/src/constrained_smoother.cpp:23:
      In function ‘__m128d _mm_mul_pd(__m128d, __m128d)’,
      inlined from ‘Packet Eigen::internal::pmul(const Packet&, const Packet&) [with Packet = __vector(2) double]’ at /usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:347:113,
      inlined from ‘Packet Eigen::internal::scalar_product_op<LhsScalar, RhsScalar>::packetOp(const Packet&, const Packet&) const [with Packet = __vector(2) double; LhsScalar = double; RhsScalar = double]’ at /usr/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h:83:26,
      inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 16; PacketType = __vector(2) double; BinaryOp = Eigen::internal::scalar_product_op<double, double>; Lhs = const Eigen::Matrix<double, 2, 1>; Rhs = const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> >]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:782:31,
      inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 16; PacketType = __vector(2) double; BinaryOp = Eigen::internal::scalar_product_op<double, double>; Lhs = const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >; Rhs = const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> >]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:782:80,
      inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 16; PacketType = __vector(2) double; BinaryOp = Eigen::internal::scalar_product_op<double, double>; Lhs = const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >; Rhs = const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> >]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:782:80,
      inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 16; PacketType = __vector(2) double; BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Lhs = const Eigen::Matrix<double, 2, 1>; Rhs = const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:783:80,
      inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index, Eigen::Index) [with int StoreMode = 16; int LoadMode = 16; PacketType = __vector(2) double; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Matrix<double, 2, 1> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > > >; Functor = Eigen::internal::assign_op<double, double>; int Version = 0]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:675:116,
      inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacketByOuterInner(Eigen::Index, Eigen::Index) [with int StoreMode = 16; int LoadMode = 16; PacketType = __vector(2) double; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Matrix<double, 2, 1> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > > >; Functor = Eigen::internal::assign_op<double, double>; int Version = 0]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:689:48,
      inlined from ‘static void Eigen::internal::copy_using_evaluator_innervec_CompleteUnrolling<Kernel, Index, Stop>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 2, 1> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > > >, Eigen::internal::assign_op<double, double>, 0>; int Index = 0; int Stop = 2]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:279:85,
      inlined from ‘static void Eigen::internal::dense_assignment_loop<Kernel, 2, 2>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 2, 1> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > > >, Eigen::internal::assign_op<double, double>, 0>]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:489:99,
      inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 2, 1>; SrcXprType = Eigen::CwiseBinaryOp<scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > >; Functor = assign_op<double, double>]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:785:37,
      inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 2, 1>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > >; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:954:31,
      inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 2, 1>; Src = Eigen::CwiseBinaryOp<scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > >; Func = assign_op<double, double>]’ at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:890:49,
      inlined from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > >; Derived = Eigen::Matrix<double, 2, 1>]’ at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:797:41,
      inlined from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > >; Derived = Eigen::Matrix<double, 2, 1>]’ at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:594:19,
      inlined from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 2, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 2, 1> > > >; _Scalar = double; int _Rows = 2; int _Cols = 1; int _Options = 0; int _MaxRows = 2; int _MaxCols = 1]’ at /usr/include/eigen3/Eigen/src/Core/Matrix.h:423:29,
      inlined from ‘void nav2_constrained_smoother::Smoother::upsampleAndPopulate(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<bool, std::allocator<bool> >&, const Eigen::Vector2d&, const Eigen::Vector2d&, const nav2_constrained_smoother::SmootherParams&, std::vector<Eigen::Matrix<double, 3, 1> >&)’ at /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/smoother.hpp:331:84,
      inlined from ‘bool nav2_constrained_smoother::Smoother::smooth(std::vector<Eigen::Matrix<double, 3, 1> >&, const Eigen::Vector2d&, const Eigen::Vector2d&, const nav2_costmap_2d::Costmap2D*, const nav2_constrained_smoother::SmootherParams&)’ at /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/smoother.hpp:119:24:
      /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:275:46: error: ‘(__m128d)((char*)&prelast_dir + offsetof(Eigen::Vector2d, Eigen::Matrix<double, 2, 1, 0, 2, 1>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::MatrixBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::DenseBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 3>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 1>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 0>::<unnamed>))’ may be used uninitialized [-Werror=maybe-uninitialized]
      275 | return (__m128d) ((__v2df)__A * (__v2df)__B);
      | ^
      /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/smoother.hpp: In member function ‘bool nav2_constrained_smoother::Smoother::smooth(std::vector<Eigen::Matrix<double, 3, 1> >&, const Eigen::Vector2d&, const Eigen::Vector2d&, const nav2_costmap_2d::Costmap2D*, const nav2_constrained_smoother::SmootherParams&)’:
      /home/robot/project/test_nav2/src/navigation2/nav2_constrained_smoother/include/nav2_constrained_smoother/smoother.hpp:295:21: note: ‘(__m128d)((char*)&prelast_dir + offsetof(Eigen::Vector2d, Eigen::Matrix<double, 2, 1, 0, 2, 1>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::MatrixBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::DenseBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 3>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 1>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 0>::<unnamed>))’ was declared here
      295 | Eigen::Vector2d prelast_dir;
      | ^~~~~~~~~~~
      cc1plus: all warnings being treated as errors
      gmake[2]: *** [CMakeFiles/nav2_constrained_smoother.dir/build.make:76: CMakeFiles/nav2_constrained_smoother.dir/src/constrained_smoother.cpp.o] Error 1
      gmake[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/nav2_constrained_smoother.dir/all] Error 2
      gmake: *** [Makefile:146: all] Error 2

      Failed <<< nav2_constrained_smoother [1min 19s, exited with code 2]
      Aborted <<< nav2_navfn_planner [1min 22s]
      Aborted <<< nav2_theta_star_planner [1min 23s]
      Aborted <<< nav2_behavior_tree [1min 24s]
      Aborted <<< costmap_queue [1min 23s]
      Aborted <<< nav2_smoother [1min 29s]
      Aborted <<< dwb_core [1min 30s]
      Aborted <<< nav2_planner [1min 36s]
      Aborted <<< nav2_regulated_pure_pursuit_controller [1min 47s]
      Aborted <<< nav2_waypoint_follower [1min 54s]
      Aborted <<< nav2_controller [2min 58s]
      Aborted <<< nav2_collision_monitor [3min 20s]
      Aborted <<< nav2_smac_planner [3min 26s]
      Aborted <<< nav2_mppi_controller [3min 26s]

      Summary: 15 packages finished [3min 29s]
      1 package failed: nav2_constrained_smoother
      13 packages aborted: costmap_queue dwb_core nav2_behavior_tree nav2_collision_monitor nav2_controller nav2_mppi_controller nav2_navfn_planner nav2_planner nav2_regulated_pure_pursuit_controller nav2_smac_planner nav2_smoother nav2_theta_star_planner nav2_waypoint_follower
      4 packages had stderr output: nav2_constrained_smoother nav2_planner nav2_smoother nav2_waypoint_follower
      10 packages not processed
      ]

      具体报错地点如下:
      /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:275:46: error: ‘(__m128d)((char*)&prelast_dir + offsetof(Eigen::Vector2d, Eigen::Matrix<double, 2, 1, 0, 2, 1>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::MatrixBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::DenseBase<Eigen::Matrix<double, 2, 1, 0, 2, 1> >::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 3>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 1>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 0, 2, 1>, 0>::<unnamed>))’ may be used uninitialized [-Werror=maybe-uninitialized]
      275 | return (__m128d) ((__v2df)__A * (__v2df)__B);
      | ^

      尝试过的解决方法:

      • [百度了之后没有好的方法。我又用了另一台电脑去编译,就能编译通过,不知道我的电脑是什么原因编不过。 之前编译是好的,过了一段时间再编译就编译失败了。]
      L 1 条回复 最后回复 回复 引用 0
      • L
        luqixuan 年度VIP @553416962
        最后由 编辑

        @553416962 在 ubuntu22.04编译nav2源码编译报错 中说:

        WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces
        nav2相关的包已经在/opt/ros/humble中存在,跳过已存在的包或清理工作空间

        5 1 条回复 最后回复 回复 引用 0
        • 5
          流水心清 @luqixuan
          最后由 编辑

          @luqixuan 你好,我试了将已存在的包忽略掉,不编译它,但是还是会出现报错:
          终端打印如下;
          robot@robot-hp:~/project/test_nav2$ colcon build --packages-ignore nav2_msgs nav2_common nav2_costmap_2d nav2_map_server nav2_core nav2_util nav2_voxel_grid nav2_lifecycle_manager
          Starting >>> nav_2d_msgs
          Starting >>> costmap_queue
          Starting >>> nav2_behavior_tree
          Starting >>> nav2_regulated_pure_pursuit_controller
          Starting >>> nav2_amcl
          Starting >>> nav2_collision_monitor
          Starting >>> nav2_constrained_smoother
          Starting >>> nav2_mppi_controller
          Starting >>> nav2_navfn_planner
          Starting >>> nav2_planner
          Starting >>> nav2_rviz_plugins
          Starting >>> nav2_simple_commander
          Starting >>> nav2_smac_planner
          Starting >>> nav2_theta_star_planner
          Starting >>> nav2_velocity_smoother
          Starting >>> nav2_waypoint_follower
          Finished <<< costmap_queue [0.92s]
          Finished <<< nav2_collision_monitor [0.92s]
          Finished <<< nav2_navfn_planner [0.93s]
          Finished <<< nav2_regulated_pure_pursuit_controller [0.96s]
          Finished <<< nav2_mppi_controller [0.95s]
          Finished <<< nav2_amcl [0.98s]
          Finished <<< nav2_rviz_plugins [0.98s]
          Finished <<< nav2_behavior_tree [1.02s]
          Starting >>> nav2_behaviors
          Starting >>> nav2_bt_navigator
          Finished <<< nav2_velocity_smoother [1.07s]
          Finished <<< nav2_theta_star_planner [1.09s]
          Finished <<< nav2_smac_planner [1.12s]
          Finished <<< nav_2d_msgs [1.19s]
          Starting >>> nav_2d_utils
          Starting >>> dwb_msgs
          Finished <<< nav_2d_utils [0.48s]
          Starting >>> nav2_controller
          Starting >>> nav2_smoother
          Finished <<< nav2_controller [0.61s]
          Starting >>> nav2_rotation_shim_controller
          Starting >>> nav2_graceful_controller
          Finished <<< dwb_msgs [1.47s]
          Starting >>> dwb_core
          Finished <<< dwb_core [0.58s]
          Starting >>> dwb_critics
          Starting >>> dwb_plugins
          Finished <<< nav2_simple_commander [4.31s]
          [Processing: dwb_critics, dwb_plugins, nav2_behaviors, nav2_bt_navigator, nav2_constrained_smoother, nav2_graceful_controller, nav2_planner, nav2_rotation_shim_controller, nav2_smoother, nav2_waypoint_follower]
          --- stderr: dwb_plugins
          In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_interfaces/node_parameters_interface.hpp:28,
          from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:54,
          from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
          from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
          from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
          from /home/robot/project/test_nav2/src/navigation2/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/standard_traj_generator.hpp:42,
          from /home/robot/project/test_nav2/src/navigation2/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/limited_accel_generator.hpp:41,
          from /home/robot/project/test_nav2/src/navigation2/nav2_dwb_controller/dwb_plugins/src/limited_accel_generator.cpp:35:
          In constructor ‘rclcpp::Parameter::Parameter(const std::string&, ValueTypeT) [with ValueTypeT = double]’,
          inlined from ‘bool rclcpp_lifecycle::LifecycleNode::get_parameter(const std::string&, ParameterT&) const [with ParameterT = double]’ at /opt/ros/humble/include/rclcpp_lifecycle/rclcpp_lifecycle/lifecycle_node_impl.hpp:256:21,
          inlined from ‘param_t nav_2d_utils::searchAndGetParam(const rclcpp_lifecycle::LifecycleNode::SharedPtr&, const std::string&, const param_t&) [with param_t = double]’ at /home/robot/project/test_nav2/install/nav_2d_utils/include/nav_2d_utils/parameters.hpp:71:20:
          /opt/ros/humble/include/rclcpp/rclcpp/parameter.hpp:70:21: error: ‘value’ may be used uninitialized [-Werror=maybe-uninitialized]
          70 | : Parameter(name, ParameterValue(value))
          | ^~~~~~~~~~~~~~~~~~~~~
          In file included from /home/robot/project/test_nav2/src/navigation2/nav2_dwb_controller/dwb_plugins/src/limited_accel_generator.cpp:39:
          /home/robot/project/test_nav2/install/nav_2d_utils/include/nav_2d_utils/parameters.hpp: In function ‘param_t nav_2d_utils::searchAndGetParam(const rclcpp_lifecycle::LifecycleNode::SharedPtr&, const std::string&, const param_t&) [with param_t = double]’:
          /home/robot/project/test_nav2/install/nav_2d_utils/include/nav_2d_utils/parameters.hpp:67:11: note: ‘value’ was declared here
          67 | param_t value;
          | ^~~~~
          cc1plus: all warnings being treated as errors
          gmake[2]: *** [CMakeFiles/standard_traj_generator.dir/build.make:90: CMakeFiles/standard_traj_generator.dir/src/limited_accel_generator.cpp.o] Error 1
          gmake[1]: *** [CMakeFiles/Makefile2:178: CMakeFiles/standard_traj_generator.dir/all] Error 2
          gmake[1]: *** Waiting for unfinished jobs....
          gmake: *** [Makefile:146: all] Error 2

          Failed <<< dwb_plugins [37.8s, exited with code 2]
          Aborted <<< nav2_waypoint_follower [42.0s]
          Aborted <<< dwb_critics [39.3s]
          Aborted <<< nav2_constrained_smoother [43.5s]
          Aborted <<< nav2_smoother [46.3s]
          Aborted <<< nav2_behaviors [51.1s]
          Aborted <<< nav2_planner [53.2s]
          Aborted <<< nav2_bt_navigator [1min 0s]
          Aborted <<< nav2_rotation_shim_controller [1min 2s]
          Aborted <<< nav2_graceful_controller [1min 10s]

          Summary: 17 packages finished [1min 12s]
          1 package failed: dwb_plugins
          9 packages aborted: dwb_critics nav2_behaviors nav2_bt_navigator nav2_constrained_smoother nav2_graceful_controller nav2_planner nav2_rotation_shim_controller nav2_smoother nav2_waypoint_follower
          7 packages had stderr output: dwb_critics dwb_plugins nav2_behaviors nav2_constrained_smoother nav2_planner nav2_smoother nav2_waypoint_follower
          4 packages not processed
          robot@robot-hp:~/project/test_nav2$

          小鱼小 1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @553416962
            最后由 编辑

            @553416962 对齐系统版本和源码版本

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            5 2 条回复 最后回复 回复 引用 0
            • 5
              流水心清 @小鱼
              最后由 编辑

              @小鱼 鱼哥,我的系统是ubuntu22.04, nav2的源码版本是
              94db7bf4-df64-4768-8c3b-b9a4a3185485-image.png

              应该没有问题吧?

              1 条回复 最后回复 回复 引用 0
              • 5
                流水心清 @小鱼
                最后由 553416962 编辑

                @小鱼 鱼哥,我修改了一些内容,最后编译通过了,但是我是从git上拉的源码,不修改内容也应该可以编过。下面是我修改地方的截图,您能帮我看看为什么吗?

                1. 文件:navigation2-humble/nav2_waypoint_follower/plugins/input_at_waypoint.cpp
                  double timeout ; 改为double timeout = 0.0;

                e808effa-815b-4dcb-b064-052f15383f46-6c4bcdbd1978b4ebb9ae3cd104244db7.jpg file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/6c4bcdbd1978b4ebb9ae3cd104244db7.jpg

                2.文件:navigation2-humble/nav2_smoother/src/nav2_smoother.cpp
                double transform_tolerance; 改为double transform_tolerance = 0.0;
                ba8dd5fa-70bd-4df4-bfbf-6176c5084a42-1905e0867ace52dd920ac411335bba06.jpg file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/1905e0867ace52dd920ac411335bba06.jpg

                3.文件 navigation2-humble/nav2_dwb_controller/nav_2d_utils/include/nav_2d_utils/parameters.hpp
                param_t value ; 改为param_t value = default_value;
                2a1a9246-ad3e-481f-bee4-7e5c03bb7872-fea2c6039d6868dab073a3cbd41efdfd.jpg file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/fea2c6039d6868dab073a3cbd41efdfd.jpg

                4.文件 navigation2-humble/nav2_behaviors/src/behavior_server.cpp
                double transform_tolerance ; 改为double transform_tolerance = 0.0;
                f0d0df64-5fd5-472b-ae7e-f105c20c1714-8e6a578dbb3e0ac7eb4f4c9d930d59e6.jpg file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/8e6a578dbb3e0ac7eb4f4c9d930d59e6.jpg

                5.文件 navigation2-humble/nav2_planner/src/palnner_server.cpp
                double expected_planner_frequency ; 改为double expected_planner_frequency = 0.0;
                afc7743e-d34d-4c2b-a806-f288df5dd4f0-291a80ae49b8443f91d52b0afe88adf7.jpg file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/291a80ae49b8443f91d52b0afe88adf7.jpg

                6.文件navigation2-humble/nav2_constrained_smoother/CmakeLists.txt
                添加 add_definitions(-DEIGEN_DONT_VECTORIZE)
                a1e47283-1823-40f2-bf80-76b98547fa23-b674dfb17849c82b3f4a282beb7e8ed6.jpg file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/b674dfb17849c82b3f4a282beb7e8ed6.jpg

                1 条回复 最后回复 回复 引用 0
                • 第一个帖子
                  最后一个帖子
                皖ICP备16016415号-7
                Powered by NodeBB | 鱼香ROS