Atom-machinerule / ua-ros-pkg

Automatically exported from code.google.com/p/ua-ros-pkg
0 stars 0 forks source link

compiling error of ua-ros-pkg #20

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. I followed the instruction for Guests from
http://code.google.com/p/ua-ros-pkg/wiki/DeveloperInstall
2.
3.

What is the expected output? What do you see instead?
at the last step, i.e., ~/ros/ua-ros-pkg/make-all.sh
error message popup:

/home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/pr
ocessor.h: In member function ‘bool VidereStereoNode::serviceCam()’:
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:107: error: ‘void stereo_image_proc::StereoProcessor::processPoints(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:580: error: within this context
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:111: error: ‘void stereo_image_proc::StereoProcessor::processPoints2(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud2&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:588: error: within this context
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:107: error: ‘void stereo_image_proc::StereoProcessor::processPoints(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:622: error: within this context
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:111: error: ‘void stereo_image_proc::StereoProcessor::processPoints2(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud2&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:630: error: within this context
  make[3]: *** [CMakeFiles/videre_stereo_node.dir/src/videre_stereo_node.o] Error 1
  make[3]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'
  make[2]: *** [CMakeFiles/videre_stereo_node.dir/all] Error 2
  make[2]: *** Waiting for unfinished jobs....
  Linking CXX executable ../bin/disparity_view
  make[3]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'
  [100%] Built target disparity_view
  make[2]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'

What version of the product are you using? On what operating system?
Ubuntu 9.10 32 bit

Please provide any additional information below.

I checked the package "sensor_msgs", only file PointCloud.h exists but no 
PointCloud2.h file.

Original issue reported on code.google.com by Wu.Xiao...@gmail.com on 28 Jul 2010 at 10:05

GoogleCodeExporter commented 8 years ago
Hi Wu.Xiaojun, this package will only compile with the latest version of ROS 
called cturtle. What version are you using?

Original comment by areb...@gmail.com on 28 Jul 2010 at 3:47

GoogleCodeExporter commented 8 years ago
I have modified instructions on the wiki to point to correct rosinstall 
configuration file. Following these instructions should set you up with ROS 
cturtle and videre_stereo_cam package should compile just fine.

Original comment by areb...@gmail.com on 28 Jul 2010 at 4:45

GoogleCodeExporter commented 8 years ago
thanks for the prompt reply.

I dumped my previous boxturtle version of ROS and followed your new instruction 
in wiki for fresh installation. But when ~/ros/ua-ros-pkg/make-all.sh runs till 
the package videre_stereo_cam, error occurs again:

...  
/home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/pr
ocessor.h: In member function ‘bool VidereStereoNode::serviceCam()’:
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:107: error: ‘void stereo_image_proc::StereoProcessor::processPoints(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:580: error: within this context
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:111: error: ‘void stereo_image_proc::StereoProcessor::processPoints2(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud2&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:588: error: within this context
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:107: error: ‘void stereo_image_proc::StereoProcessor::processPoints(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:622: error: within this context
  /home/nyp/ros/pkgs/image_pipeline/stereo_image_proc/include/stereo_image_proc/processor.h:111: error: ‘void stereo_image_proc::StereoProcessor::processPoints2(const stereo_msgs::DisparityImage&, const cv::Mat&, const std::string&, const image_geometry::StereoCameraModel&, sensor_msgs::PointCloud2&) const’ is private
  /home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/src/videre_stereo_node.cpp:630: error: within this context
  make[3]: *** [CMakeFiles/videre_stereo_node.dir/src/videre_stereo_node.o] Error 1
  make[3]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'
  make[2]: *** [CMakeFiles/videre_stereo_node.dir/all] Error 2
  make[2]: *** Waiting for unfinished jobs....
  Linking CXX executable ../bin/disparity_view
  make[3]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'
  [100%] Built target disparity_view
  make[2]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_drivers/videre_stereo_cam/build'

your further suggestion is appreciated.

Original comment by Wu.Xiao...@gmail.com on 29 Jul 2010 at 8:35

GoogleCodeExporter commented 8 years ago
Hmm, this is strange that should not happen on latest cturtle. Can you do the 
following:

roscd stereo_image_proc
svn info

and paste the output here. Thanks.

Original comment by areb...@gmail.com on 29 Jul 2010 at 2:11

GoogleCodeExporter commented 8 years ago
output attached here:

Repository Root: https://code.ros.org/svn/ros-pkg
Repository UUID: eb33c2ac-9c88-4c90-87e0-44a10359b0c3
Revision: 31341
Node Kind: directory
Schedule: normal
Last Changed Author: mihelich
Last Changed Rev: 29753
Last Changed Date: 2010-05-24 10:59:54 +0800 (Mon, 24 May 2010)

Original comment by Wu.Xiao...@gmail.com on 30 Jul 2010 at 2:03

GoogleCodeExporter commented 8 years ago
It seems like latest changes haven't been pushed into cturtle branch yet. Do 
the following:

roscd stereo_image_proc

svn switch 
https://code.ros.org/svn/ros-pkg/stacks/image_pipeline/trunk/stereo_image_proc

rosmake stereo_image_proc

After that your svn info should look like this:

URL: 
https://code.ros.org/svn/ros-pkg/stacks/image_pipeline/trunk/stereo_image_proc
Repository Root: https://code.ros.org/svn/ros-pkg
Repository UUID: eb33c2ac-9c88-4c90-87e0-44a10359b0c3
Revision: 31396
Node Kind: directory
Schedule: normal
Last Changed Author: mihelich
Last Changed Rev: 30561
Last Changed Date: 2010-06-30 15:31:27 -0700 (Wed, 30 Jun 2010)

And then compile videre_stereo_cam package with rosmake videre_stereo_cam.

Let me know if that works for you.

Original comment by areb...@gmail.com on 30 Jul 2010 at 3:24

GoogleCodeExporter commented 8 years ago
hi, the new svn copy you provided works.
In fact, previously I tried change the declaration of processPoints() and 
processPoints2() from private to public, and the compile can also finish, which 
is similarly as the new svn copy does.

Then I met a second issue, 
-----------------------
/home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/include/erratic_g
azebo_plugins/diffdrive_plugin.h:76: error: ‘libgazebo’ has not been 
declared
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/include/erratic_gazebo_plugins/diffdrive_plugin.h:76: error: ISO C++ forbids declaration of ‘PositionIface’ with no type
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/include/erratic_gazebo_plugins/diffdrive_plugin.h:76: error: expected ‘;’ before ‘*’ token
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp: In member function ‘virtual void gazebo::DiffDrivePlugin::LoadChild(gazebo::XMLConfigNode*)’:
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: ‘pos_iface_’ was not declared in this scope
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: expected type-specifier before ‘libgazebo’
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: expected ‘>’ before ‘libgazebo’
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: expected ‘(’ before ‘libgazebo’
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: ‘libgazebo’ has not been declared
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: expected primary-expression before ‘>’ token
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:108: error: expected ‘)’ before ‘;’ token
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp: In member function ‘void gazebo::DiffDrivePlugin::publish_odometry()’:
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:315: error: ‘pos_iface_’ was not declared in this scope
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp: In member function ‘void gazebo::DiffDrivePlugin::write_position_data()’:
  /home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plugin.cpp:350: error: ‘pos_iface_’ was not declared in this scope
  make[3]: *** [CMakeFiles/diffdrive_plugin.dir/src/diffdrive_plugin.o] Error 1
  make[3]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/build'
  make[2]: *** [CMakeFiles/diffdrive_plugin.dir/all] Error 2
  make[2]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/build'
----------------
svn info is,
URL: 
http://ua-ros-pkg.googlecode.com/svn/trunk/arrg/ua_controllers/erratic_gazebo_pl
ugins
Repository Root: http://ua-ros-pkg.googlecode.com/svn
Repository UUID: 2d0f1ff0-de04-11de-a762-f1e63c3c121e
Revision: 785
Node Kind: directory
Schedule: normal
Last Changed Author: arebgun
Last Changed Rev: 751
Last Changed Date: 2010-07-10 16:59:40 +0800 (Sat, 10 Jul 2010)

I guess this time there is update legacy again. 
Then I tried change Line 74 of 
/home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/include/erratic_g
azebo_plugins/diffdrive_plugin.h 
from 
    libgazebo::PositionIface *pos_iface_;
into 
    gazebo::PositionIface *pos_iface_;

and changed Line 108 of file 
/home/nyp/ros/ua-ros-pkg/ua_controllers/erratic_gazebo_plugins/src/diffdrive_plu
gin.cpp
from
    //pos_iface_ = dynamic_cast<libgazebo::PositionIface*> (GetIface("position"));

into
    pos_iface_ = dynamic_cast<gazebo::PositionIface*> (GetIface("position"));

and fortunately the compile gets past.

Then I met the 3rd issue,
 /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp: In member function ‘btConvexShape* gazebo::WorldStatePublisher::extract_shape(gazebo::Geom*)’:
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:284: error: ‘class gazebo::Geom’ has no member named ‘GetWorldPose’
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp: In member function ‘virtual void gazebo::WorldStatePublisher::UpdateChild()’:
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:365: error: ‘class gazebo::Model’ has no member named ‘GetWorldPose’
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:431: error: ‘class gazebo::Body’ has no member named ‘GetWorldPose’
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:445: error: ‘class gazebo::Body’ has no member named ‘GetWorldLinearVel’
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:446: error: ‘class gazebo::Body’ has no member named ‘GetWorldAngularVel’
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:458: error: ‘class gazebo::Body’ has no member named ‘GetWorldForce’
  /home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/src/world_state_publisher.cpp:459: error: ‘class gazebo::Body’ has no member named ‘GetWorldTorque’
  make[3]: *** [CMakeFiles/world_state_publisher.dir/src/world_state_publisher.o] Error 1
  make[3]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/build'
  make[2]: *** [CMakeFiles/world_state_publisher.dir/all] Error 2
  make[2]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/nyp/ros/ua-ros-pkg/ua_experimental/simulator_experiments/build'

and the related svn info is
Path: .
URL: 
http://ua-ros-pkg.googlecode.com/svn/trunk/arrg/ua_experimental/simulator_experi
ments
Repository Root: http://ua-ros-pkg.googlecode.com/svn
Repository UUID: 2d0f1ff0-de04-11de-a762-f1e63c3c121e
Revision: 785
Node Kind: directory
Schedule: normal
Last Changed Author: dhewlett
Last Changed Rev: 771
Last Changed Date: 2010-07-26 16:52:29 +0800 (Mon, 26 Jul 2010)

So far I didn't figure out how to fix it. 

Original comment by Wu.Xiao...@gmail.com on 30 Jul 2010 at 5:43

GoogleCodeExporter commented 8 years ago
This is weird. It looks like it is compiling against an old version of ROS 
still, are you sure you are running cturtle? What does "rosversion ros" give 
you?

Original comment by areb...@gmail.com on 30 Jul 2010 at 5:50

GoogleCodeExporter commented 8 years ago
result of rosversion ros:

1.1.8

Original comment by Wu.Xiao...@gmail.com on 30 Jul 2010 at 6:00

GoogleCodeExporter commented 8 years ago
Mine's at 1.2.0. Could you delete everything and start over see if that helps?

Original comment by areb...@gmail.com on 30 Jul 2010 at 6:09

GoogleCodeExporter commented 8 years ago
ok, I deleted everything about ros on my computer, and reinstalled from 
beginning, and you are right, the compile finished smoothly.

Possible reason for the failure, on my Ubuntu, other than the binary version of 
boxturtle, I also installed some boxturtle pkgs through Synaptic Package 
Manager, which weren't be cleared during my last time installation.

Thanks

Original comment by Wu.Xiao...@gmail.com on 30 Jul 2010 at 1:49

GoogleCodeExporter commented 8 years ago
Cool, god to hear it's working for you.

Original comment by areb...@gmail.com on 30 Jul 2010 at 2:55