pkg_check_module returns invalid pass for including gazebo header file
mmurooka opened this issue · 1 comments
mmurooka commented
I got the following error.
$ catkin_make --only-pkg-with-deps hrpsys_gazebo_general --force-cmake
...
/home/murooka/ros/hydro/src/rtm-ros-robotics/rtmros_gazebo/hrpsys_gazebo_general/src/GetVelPlugin.cpp:5:28: 致命的エラー: gazebo/gazebo.hh: そのようなファイルやディレクトリはありません
...
I added message("${GAZEBO_INCLUDE_DIRS}")
to catkin.cmake, and found that ${GAZEBO_INCLUDE_DIRS}
became /usr/include/gazebo-3.0;/usr/include/sdformat-2.0
.
以下のように,/usr/include/gazebo-3.0 は存在しなくて/usr/include/gazebo-3.1 があります.
コマンドラインでpkg-configでgazeboのcflagsを見ると,正しくgazebo-3.1のパスが返ってくるのですが,
catkin.cmakeの中のpkg_check_modulesでは正しくないgazebo-3.0のパスが返って来てしまいます.
https://github.com/start-jsk/rtmros_gazebo/blob/master/hrpsys_gazebo_general/catkin.cmake#L33
murooka@murooka-ThinkPad-T430:~/ros/hydro$ ls /usr/include/gazebo-3.0
ls: /usr/include/gazebo-3.0 にアクセスできません: そのようなファイルやディレクトリはありません
murooka@murooka-ThinkPad-T430:~/ros/hydro$ ls /usr/include/gazebo-3.1
gazebo
murooka@murooka-ThinkPad-T430:~/ros/hydro$ pkg-config --cflags gazebo
-I/usr/include/gazebo-3.1 -I/usr/include/sdformat-2.0
解決方法ご存知でしたらご教示ください.
mmurooka commented
自己解決しました.
build/CMakeCache.txtに
GAZEBO_CFLAGS:INTERNAL=-I/usr/include/gazebo-3.0;-I/usr/include/sdformat-2.0
という行が残っていることが原因でした.
devel,buildを消してcatkin_makeしなおしたら,
CMakeCache.txtのgazebo-3.0がgazdebo-3.1に変わってエラーが出なくなりました.
catkin_make --force-cmake
でもCMakeCache.txtはそのままで残っているものなのでしょうか.