Good day to all. I have repeatedly faced with this problem: installation laser_scan_matcher for ROS kinetic. To solve this problem on three different machines, and finally I decided to write an algorithm that helped me. Probably, it is not very correct, as I replace the relative path to the libraries in the absolute, but nevertheless it - it works for me.
Now the algorithm itself. In the future, I mean that the package is the full path to my catkin_ws is: /home/edward/catkin_ws
Algorithm
1.first install the package csm itself in directory /catkin_ws/src: git clone https://github.com/AndreaCensi/csm.git
and package scan_tools: git clone https://github.com/ccny-ros-pkg/scan_...
2.in /catkin_ws do catkin_make
3.open: nano ~/.bashrc and add to end of file as a variable PKG_CONFIG_PATH tssm.pk path to the file. In my case, this line looks like this:
export PKG_CONFIG_PATH=/home/edward/catkin_ws/src/csm/sm/pkg-config
and make: source ~/.bashrc
4.Next, you must explicitly register in five file path to the header files:
- in file /home/edward/catkin_ws/src/scan_tools/laser_scan_matcher/include/laser_scan_matcher/laser_scan_matcher.h replace #include '<'csm/csm_all.h'>' on #include '<'/home/edward/catkin_ws/src/csm/sm/csm/csm_all.h'> (without apostrophes, of course)
- in file /home/edward/catkin_ws/src/csm/sm/csm/laser_data_json.h replace json-c/json.h and json-c/json_more_utils.h on
/home/edward/catkin_ws/src/csm/sm/lib/json-c/json.h and home/edward/catkin_ws/src/csm/sm/lib/json-c/json_more_utils.h respectively
- in file /home/edward/catkin_ws/src/csm/sm/csm/hsm/hsm_interface.h replace options/options.h on /home/edward/catkin_ws/src/csm/sm/lib/options/options.h
- on file /home/edward/catkin_ws/src/csm/sm/csm/json_journal.h replace json-c/json.h and json-c/json_more_utils.h on
/home/edward/catkin_ws/src/csm/sm/lib/json-c/json.h and /home/edward/catkin_ws/src/csm/sm/lib/json-c/json_more_utils.h respectivetly
- Lastly, in file /home/edward/catkin_ws/src/csm/sm/csm/math_utils_gsl.h replace egsl/egsl.h on /home/edward/catkin_ws/src/csm/sm/lib/egsl/egsl.h
5.Finally, go to your /catkin_ws and do catkin_make
And, wow miracle - all gathered! I hope this spike curve method will help you :) Happy ROS.
How did you install the
csm
package?My base ROS workspace is ~/ros_ws/src Installed csm src into ~/ros_ws/src/csm and ran install_quickstart.sh which successfully compiled it all and "installed" it
That installed it to: ~/ros_ws/src/csm/deploy
What operating system are you using?
Did you
source ~/ros_ws/src/csm/deploy/setup.bash
?This is on a raspberry pi (hence the building everything) re: source - there is no ~/ros_ws/src/csm/deploy/setup.bash file