I am getting a similar segfault error in convertCloudToArray. I am working on Ubuntu 10.10, 64-bit. I am using the latest libpcl-dev installed from binaries. The same code ran ok when I used the perception_pcl ros stack instead. Below is the code I'm running void pointCloudCallback(const sensor_msgs::PointCloud2::ConstPtr& cloud_in_msg) { PointCloudT::Ptr cloud_in_ptr = boost::make_shared(); pcl::fromROSMsg(*cloud_in_msg, *cloud_in_ptr); pcl::IterativeClosestPoint reg; pcl::KdTreeFLANN::Ptr tree = boost::make_shared > (); reg.setRadiusSearch(tree, 0.20, "f"); reg.setTransformationEpsilon (icp_tf_epsilon_); reg.setMaxCorrespondenceDistance (icp_max_corresp_dist_); reg.setMaximumIterations (icp_max_iterations_); reg.setInputCloud (cloud_in_ptr); reg.setInputTarget (cloud_in_ptr); } The call to setInputCloud produces this error: Program received signal SIGSEGV, Segmentation fault. 0x01bdf3e7 in pcl::KdTreeFLANN::convertCloudToArray(pcl::PointCloud const&) () from /usr/local/lib/libpcl_kdtree.so.1 This is the backtrace from gdb: #0 0x01bdf3e7 in pcl::KdTreeFLANN::convertCloudToArray(pcl::PointCloud const&) () from /usr/local/lib/libpcl_kdtree.so.1 #1 0x01befb64 in pcl::KdTreeFLANN::setInputCloud(boost::shared_ptr const> const&, boost::shared_ptr > const> const&) () from /usr/local/lib/libpcl_kdtree.so.1 #2 0x0806e243 in pcl::Registration::setInputTarget(boost::shared_ptr const> const&) () #3 0x0805f266 in kinect_pose_est::KinectPoseEst::pointCloudCallback(boost::shared_ptr > const> const&) () #4 0x08067d15 in boost::detail::function::void_function_obj_invoker1 > const> const&)>, void, boost::shared_ptr > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr > const>) () #5 0x08067dc9 in ros::SubscriptionCallbackHelperT > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) () #6 0x00d85b72 in ros::SubscriptionQueue::call (this=0xb4702840) at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/subscription_queue.cpp:164 #7 0x00dca34a in ros::CallbackQueue::callOneCB (this=0x8098010, tls=0xb4703080) at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/callback_queue.cpp:381 #8 0x00dcaa3f in ros::CallbackQueue::callAvailable (this=0x8098010, timeout=...) at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/callback_queue.cpp:333 #9 0x00dd1010 in ros::SingleThreadedSpinner::spin (this=0xbfffe63c, queue=0x8098010) at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/spinner.cpp:49 #10 0x00d55859 in ros::spin (s=...) at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/init.cpp:493 #11 0x00d55889 in ros::spin () at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/init.cpp:488 #12 0x0806f64b in main () Thanks, Ivan