Turtlebot installation failure
Hi all,
I want to install turtlebot based on the instructions stated here "http://wiki.ros.org/turtlebot/Tutorials/indigo/Turtlebot%20Installation", (section 2.3.2).
I could create rocon and kobuki workspace, but for turtlebot when I use catkin_make I get the following errors:
^
/usr/local/include/opencv2/legacy/legacy.hpp: At global scope:
/usr/local/include/opencv2/legacy/legacy.hpp:2622:1: error: expected class-name before ‘{’ token
{
^
Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveGoal
/usr/local/include/opencv2/legacy/legacy.hpp:2636:16: error: ‘string’ has not been declared
string pcaFilename = string(),
^
Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialFeedback
/usr/local/include/opencv2/legacy/legacy.hpp:2637:16: error: ‘string’ has not been declared
string trainPath = string(), string trainImagesList = string(),
^
/usr/local/include/opencv2/legacy/legacy.hpp:2637:45: error: ‘string’ has not been declared
string trainPath = string(), string trainImagesList = string(),
^
/usr/local/include/opencv2/legacy/legacy.hpp:2643:9: error: ‘string’ does not name a type
string pcaFilename;
^
/usr/local/include/opencv2/legacy/legacy.hpp:2644:9: error: ‘string’ does not name a type
string trainPath;
^
/usr/local/include/opencv2/legacy/legacy.hpp:2645:9: error: ‘string’ does not name a type
string trainImagesList;
^
/usr/local/include/opencv2/legacy/legacy.hpp:2667:17: error: ‘GenericDescriptorMatcher’ was not declared in this scope
virtual Ptr<genericdescriptormatcher> clone( bool emptyTrainData=false ) const;
^
/usr/local/include/opencv2/legacy/legacy.hpp:2667:41: error: template argument 1 is invalid
virtual Ptr<genericdescriptormatcher> clone( bool emptyTrainData=false ) const;
^
/usr/local/include/opencv2/legacy/legacy.hpp:2676:55: error: ‘vector’ has not been declared
virtual void knnMatchImpl( const Mat& queryImage, vector<keypoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy/legacy.hpp:2676:61: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void knnMatchImpl( const Mat& queryImage, vector<keypoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy/legacy.hpp:2679:58: error: ‘vector’ has not been declared
virtual void radiusMatchImpl( const Mat& queryImage, vector<keypoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy/legacy.hpp:2679:64: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void radiusMatchImpl( const Mat& queryImage, vector<keypoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy/legacy.hpp:2636:44: error: ‘string’ was not declared in this scope
string pcaFilename = string(),
^
/usr/local/include/opencv2/legacy/legacy.hpp:2636:44: note: suggested alternative:
In file included from /usr/include/c++/4.8/string:39:0,
from /usr/local/include/opencv2/core/cvstd.hpp:58,
from /usr/local/include/opencv2/core/base.hpp:56,
from /usr/local/include/opencv2/core.hpp:54,
from /usr/local/include/opencv2/core/core.hpp:48,
from /home/reza/turtlebot/src/turtlebot_apps/software/pano/pano_core/include/pano_core/BlurDetector.h:11,
from /home/reza/turtlebot/src/turtlebot_apps/software/pano/pano_core/include/pano_core/CaptureEngine.h:11,
from /home/reza/turtlebot/src/turtlebot_apps/software/pano/pano_core/src/CaptureEngine.cpp:8:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note: ‘std::string’
typedef basic_string<char> string;
^
In file included from /home/reza/turtlebot/src/turtlebot_apps/software/pano/pano_core/src/CaptureEngine.cpp:12:0:
/usr/local/include/opencv2/legacy/legacy.hpp:2637:42: error: ‘string’ was not declared in ...
Please post the relevant part of the error.
I have edited. Is it due to clashing with opencv/openni libraries?
The rror is similar to the one expressed here "http://stackoverflow.com/questions/28955800/opencv-symbol-was-not-declared-in-this-scope"
I removed two packages pano_core and pano_py in ~/turtlebot/src/turtlebot_apps/software/pano. Now it could install without error! May I know what those packages do?