Nishida-Lab / motoman_project

Repository for Motoman ROS applications
http://lab.cntl.kyutech.ac.jp/~nishida/en/research-en.html
52 stars 32 forks source link

catkin_make時のerror(解決済み) #88

Closed shimoe closed 7 years ago

shimoe commented 7 years ago

問題点

wikiのインストール手順に従ってインストールしていた所、以下のようなエラーに出会いました。 pcl関連のエラーのようですが解決策がわかりません。

環境

Ubuntu14.04 ROS indigo Kernel 3.13.0-116-generic

エラーコード

[ 26%] Building CXX object motoman_project/motoman_recognition/motoman_euclidean_cluster/CMakeFiles/euclidean_cluster_node.dir/src/euclidean_cluster_node.cpp.o In file included from /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/euclidean_cluster.cpp:2:0: /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/../include/euclidean_cluster.hpp:19:55: fatal error: pcl/features/moment_of_inertia_estimation.h: そのようなファイルやディレクトリはありません

include <pcl/features/moment_of_inertia_estimation.h>

                                                   ^

compilation terminated. In file included from /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/euclidean_cluster_node.cpp:1:0: /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/include/euclidean_cluster.hpp:19:55: fatal error: pcl/features/moment_of_inertia_estimation.h: そのようなファイルやディレクトリはありません

include <pcl/features/moment_of_inertia_estimation.h>

                                                   ^

compilation terminated.

RyodoTanaka commented 7 years ago

@shimoe PCLのインストールは行いましたか? まだインストールしていない場合には, https://github.com/RyodoTanaka/my_ubuntu_setup/blob/master/PCL/installer.bash 上記のインストールスクリプトを使ってインストールしてみてください.

方法は

  1. 上記のスクリプトを適当なファイル名で保存(ここではhoge.bashとする)
  2. $ source hoge.bash

以上です.

shimoe commented 7 years ago

@RyodoTanaka していなかったようなので installer.bash を用いてインストールしましたが、再び以下のようなエラーコードが出ました。

[ 68%] Building CXX object motoman_tools/iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge.dir/src/kinect2_bridge.cpp.o In file included from /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/euclidean_cluster.cpp:2:0: /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/../include/euclidean_cluster.hpp:19:55: fatal error: pcl/features/moment_of_inertia_estimation.h: そのようなファイルやディレクトリはありません

include <pcl/features/moment_of_inertia_estimation.h>

                                                   ^

compilation terminated. In file included from /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/euclidean_cluster_node.cpp:1:0: /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/include/euclidean_cluster.hpp:19:55: fatal error: pcl/features/moment_of_inertia_estimation.h: そのようなファイルやディレクトリはありません

include <pcl/features/moment_of_inertia_estimation.h>

                                                   ^

compilation terminated.

RyodoTanaka commented 7 years ago

@shimoe PCLをインストール後、

した後,再度コンパイル(catkin_makeもしくはcatkin build)をしても同様ですか?

shimoe commented 7 years ago

@RyodoTanaka はい、同様のエラーコードが出ました。

RyodoTanaka commented 7 years ago

@shimoe oh... ちょっと時間をくださいm( )m

RyodoTanaka commented 7 years ago

@shimoe こんなissueを発見しました. http://www.pcl-users.org/Moment-of-Inertia-include-error-td4041827.html 上記issueでは,PCL-ROS依存のヘッダーであるかもとの結論に至っています.

そこで,

$ sudo apt-get install ros-indigo-pcl-ros

を実行後も同様のエラーが出るかどうか調べてみてくださいm( )m

あと確認ですが,インストール時に

  1. catkin_wsmotoman_projectをclone
  2. wstool で必要パッケージを追加
  3. rosdep install -i -y -r --from-paths src --ignore-src<catkin_ws>で実行

という手順は踏んだ上でエラーが起きているということでOKですか?

shimoe commented 7 years ago

@RyodoTanaka はい その手順を踏んだ上で上記のエラーが起きてます

RyodoTanaka commented 7 years ago

@shimoe 私の環境では, /usr/include/pcl-1.7/pcl/features/moment_of_inertia_estimation.h にヘッダーがあります.

/usr/include/pcl-***/ の***の部分はどのようになっていますか?

shimoe commented 7 years ago

@RyodoTanaka pcl-1.7ですね・・・

RyodoTanaka commented 7 years ago

@shimoe Nooooooooooooooooooooooooooooooh! もう少し時間をくださいm( )m

RyodoTanaka commented 7 years ago

@shimoe pcl-1.7.2rc1以上でないと、問題になっているヘッダーが存在しないというところまで確認しました. 紹介したinstaller.bashでどのバージョンが引っ張ってこられるのかを確認してみます. https://github.com/PointCloudLibrary/pcl/blob/pcl-1.7.2rc1/features/include/pcl/features/moment_of_inertia_estimation.h

つまり,問題の環境では1.7.0〜1.7.1のバージョンが入ってしまっている事になります.

shimoe commented 7 years ago

@RyodoTanaka /usr/include/pcl-1.7/pcl/features/ の中を見たところ moment_of_inertia_estimation.h が存在しませんでした。

似たようなヘッダファイルとして moment_invariants.h があります。

RyodoTanaka commented 7 years ago

@shimoe 調べたところ,引っ張って来られるpclのバージョンは1.7.2のようでした https://launchpad.net/%7Ev-launchpad-jochen-sprickerhof-de/+archive/ubuntu/pcl/+index?field.series_filter=trusty

$ sudo apt-get install libpcl-1.7-all 
$ cd <catkin_ws>
$ rm -rf <catkin_ws>/build
$ rm -rf <catkin_ws>/devel
$ catkin_make

を行っても同様ですか?

shimoe commented 7 years ago

@RyodoTanaka ダメみたいですね・・・ 一応pcl-1.7の中も確認しましたが存在しませんでした。

RyodoTanaka commented 7 years ago

@shimoe うーん 一番手っ取り早い解決策は、ソースコードを直接cloneしてきてインストールする方法です. ただ、Travisでエラーが起きていない以上,なぜこのような現象が起きるのか調べる必要があります.

shimoe commented 7 years ago

@RyodoTanaka ソースコードを直接インストールして来てから apt-get update及びapt-get uograde を行った後、ビルドしたら通りました。

回答有り難うございました