/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc: In member function ‘void SegmentationNode::scanCallback(sensor_msgs::msg::PointCloud2_ >::SharedPtr)’: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:117:34: error: conflicting declaration ‘pcl::PointCloud cloud’ 117 | pcl::PointCloud cloud; | ^~~~~ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:102:39: note: previous declaration as ‘pcl::PointCloud::Ptr cloud’ 102 | pcl::PointCloud::Ptr cloud(new pcl::PointCloud); | ^~~~~ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:118:18: error: no matching function for call to ‘fromROSMsg(std::__shared_ptr_access >, __gnu_cxx::_S_atomic, false, false>::element_type&, pcl::PointCloud::Ptr&)’ 118 | pcl::fromROSMsg(*flipped_msg, cloud); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:6: /opt/ros/humble/include/pcl_conversions/pcl_conversions.h:566:8: note: candidate: ‘template void pcl::fromROSMsg(const PointCloud2&, pcl::PointCloud&)’ 566 | void fromROSMsg(const sensor_msgs::msg::PointCloud2 &cloud, pcl::PointCloud &pcl_cloud) | ^~~~~~~~~~ /opt/ros/humble/include/pcl_conversions/pcl_conversions.h:566:8: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:118:18: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘pcl::PointCloud’ 118 | pcl::fromROSMsg(*flipped_msg, cloud); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: error: no matching function for call to ‘transformPointCloud(pcl::PointCloud::Ptr&, pcl::PointCloud&, Eigen::Affine3d&)’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:60:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, pcl::PointCloud&, const Eigen::Transform&, bool)’ 60 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:60:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:69:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, pcl::PointCloud&, const Affine3f&, bool)’ 69 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:69:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:87:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const Indices&, pcl::PointCloud&, const Eigen::Transform&, bool)’ 87 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:87:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:97:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const Indices&, pcl::PointCloud&, const Affine3f&, bool)’ 97 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:97:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:116:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const pcl::PointIndices&, pcl::PointCloud&, const Eigen::Transform&, bool)’ 116 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:116:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:126:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const pcl::PointIndices&, pcl::PointCloud&, const Affine3f&, bool)’ 126 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:126:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493, from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:221:1: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, pcl::PointCloud&, const Eigen::Matrix&, bool)’ 221 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:221:1: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:237:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, pcl::PointCloud&, const Matrix4f&, bool)’ 237 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:237:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493, from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:263:1: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const Indices&, pcl::PointCloud&, const Eigen::Matrix&, bool)’ 263 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:263:1: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:262:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const Indices&, pcl::PointCloud&, const Matrix4f&, bool)’ 262 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:262:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:281:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const pcl::PointIndices&, pcl::PointCloud&, const Eigen::Matrix&, bool)’ 281 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:281:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:291:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, const pcl::PointIndices&, pcl::PointCloud&, const Matrix4f&, bool)’ 291 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:291:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493, from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:407:1: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, pcl::PointCloud&, const Eigen::Matrix&, const Eigen::Quaternion&, bool)’ 407 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:407:1: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4: /usr/include/pcl-1.12/pcl/common/transforms.h:404:3: note: candidate: ‘template void pcl::transformPointCloud(const pcl::PointCloud&, pcl::PointCloud&, const Vector3f&, const Quaternionf&, bool)’ 404 | transformPointCloud (const pcl::PointCloud &cloud_in, | ^~~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.12/pcl/common/transforms.h:404:3: note:  template argument deduction/substitution failed: /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note:  ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} is not derived from ‘const pcl::PointCloud’ 139 | pcl::transformPointCloud(cloud, cloud_transformed, tf); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:151:22: error: operands to ‘?:’ have different types ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} and ‘pcl::PointCloud’ 151 | is_original_pc ? cloud : cloud_transformed; | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:155:32: error: ‘using Ptr = class std::shared_ptr >’ {aka ‘class std::shared_ptr >’} has no member named ‘size’ 155 | for (size_t i = 0; i < cloud.size(); ++i) { | ^~~~ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:157:35: error: no match for ‘operator[]’ (operand types are ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} and ‘size_t’ {aka ‘long unsigned int’}) 157 | ground_cloud.push_back(cloud[i]); | ^ /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:159:37: error: no match for ‘operator[]’ (operand types are ‘pcl::PointCloud::Ptr’ {aka ‘std::shared_ptr >’} and ‘size_t’ {aka ‘long unsigned int’}) 159 | obstacle_cloud.push_back(cloud[i]); | ^ gmake[2]: *** [CMakeFiles/ground_segmentation_node.dir/build.make:76: CMakeFiles/ground_segmentation_node.dir/src/ground_segmentation_node.cc.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/ground_segmentation_node.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2