Problem using pcl::io::loadPCDFile
Hi guys.
This snippet is failing on ROS environment, but working well outside the ROS
std::vector<std::string> cloud_list = buildPath(input_path);
sortList(cloud_list);
std::vector<PointC::Ptr> clouds;
for (std::string s : cloud_list) {
PointC::Ptr cloud(new PointC());
pcl::io::loadPCDFile(s, *cloud);
clouds.push_back(cloud);
}
If I try to load a cloud using a hardcoded path, isn't working too.
Someone had some similar that? Any ideas? Just kill the process. Without any clue about the problem.
The "Error":
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://amparo-N8xxEP6:42423/
SUMMARY
========
PARAMETERS
* /input_path: /home/lucasamparo...
* /logging: True
* /rosdistro: kinetic
* /rosversion: 1.12.14
* /save_path: /tmp
NODES
/
simulation_merge (point_cloud_registration/simulation_merge)
auto-starting new master
process[master]: started with pid [25892]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 89cce594-a977-11e9-a79e-80fa5b591a46
process[rosout-1]: started with pid [25907]
started core service [/rosout]
process[simulation_merge-2]: started with pid [25915]
[simulation_merge-2] process has died [pid 25915, exit code -11, cmd /home/lucasamparo/bir.jiro-buildconf/devel/lib/point_cloud_registration/simulation_merge __name:=simulation_merge __log:=/home/lucasamparo/.ros/log/89cce594-a977-11e9-a79e-80fa5b591a46/simulation_merge-2.log].
log file: /home/lucasamparo/.ros/log/89cce594-a977-11e9-a79e-80fa5b591a46/simulation_merge-2*.log
I'm very lost about this. This log didn't exist.
Looks like a mismatch on library linking. ROS bring a version of PCL and my CMake bring another. If I comment the find_package(PCL) the code works. I'll run a test to validate that cause.