ubuntu22.04编译nav2源码编译报错
-
标题:[清晰而简洁地总结您的问题]
问题描述:
[我在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_utilThis 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 2Failed <<< 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);
| ^尝试过的解决方法:
- [百度了之后没有好的方法。我又用了另一台电脑去编译,就能编译通过,不知道我的电脑是什么原因编不过。 之前编译是好的,过了一段时间再编译就编译失败了。]
- [robot@robot-hp:~/project/test_nav2$ ls
-
@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中存在,跳过已存在的包或清理工作空间 -
@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 2Failed <<< 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$ -
@553416962 对齐系统版本和源码版本
-
@小鱼 鱼哥,我的系统是ubuntu22.04, nav2的源码版本是
应该没有问题吧?
-
@小鱼 鱼哥,我修改了一些内容,最后编译通过了,但是我是从git上拉的源码,不修改内容也应该可以编过。下面是我修改地方的截图,您能帮我看看为什么吗?
- 文件:navigation2-humble/nav2_waypoint_follower/plugins/input_at_waypoint.cpp
double timeout ; 改为double timeout = 0.0;
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;
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;
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;
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;
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)
file:///home/robot/Documents/xwechat_files/wxid_td6rzwdtg9tx22_f32b/temp/2025-06/RWTemp/9e20f478899dc29eb19741386f9343c8/b674dfb17849c82b3f4a282beb7e8ed6.jpg
- 文件:navigation2-humble/nav2_waypoint_follower/plugins/input_at_waypoint.cpp