![]() | 1 | initial version |
OK so I've also updated all my source repositories, and had to fix the missing SDF.hh error which seems to be due to the SDF repository removing the file SDF.hh. So I changed the includes in the files gazebo_ros_block_laser.cpp, gazebo_ros_bumper.cpp, and gazebo_ros_camera_utils.cpp to
#include <sdf/sdf.hh>
Then I still get the redefinition of ‘class sdf::Param’ error. How is this supposed to work? Should Gazebo even have a Param.hh file in its source repo? Here are the latest source files:
Latest version of gazebo/physics/State.hh https://bitbucket.org/osrf/gazebo/src/dd765457ec03337cf12fa75ce8327674e6c8d79c/gazebo/physics/State.hh?at=default includes "gazebo/sdf/sdf.hh"
Latest version of gazebo/sdf/sdf.hh https://bitbucket.org/osrf/gazebo/src/dd765457ec03337cf12fa75ce8327674e6c8d79c/gazebo/sdf/sdf.hh?at=default includes "gazebo/sdf/interface/Param.hh"
groovy-devel branch version of /gazebo_ros_pkgs/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h https://github.com/ros-simulation/gazebo_ros_pkgs/blob/groovy-devel/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h
#include <sdf/Param.hh>
Output of normal catkin_make run:
Built target gazebo_plugins_gencfg
Scanning dependencies of target gazebo_ros_camera_utils
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_block_laser.dir/src/gazebo_ros_block_laser.cpp.o
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_bumper.dir/src/gazebo_ros_bumper.cpp.o
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_camera_utils.dir/src/gazebo_ros_camera_utils.cpp.o
In file included from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:32:0:
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
In file included from /usr/local/include/gazebo-1.9/gazebo/sdf/interface/SDF.hh:25:0,
from /usr/local/include/gazebo-1.9/gazebo/sdf/sdf.hh:21,
from /usr/local/include/gazebo-1.9/gazebo/physics/State.hh:26,
from /usr/local/include/gazebo-1.9/gazebo/physics/ModelState.hh:30,
from /usr/local/include/gazebo-1.9/gazebo/physics/Model.hh:31,
from /usr/local/include/gazebo-1.9/gazebo/physics/Actor.hh:24,
from /usr/local/include/gazebo-1.9/gazebo/physics/physics.hh:2,
from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h:37,
from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_block_laser.cpp:26:
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp: In member function ‘virtual void gazebo::GazeboRosBumper::Load(gazebo::sensors::SensorPtr, sdf::ElementPtr)’:
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:43: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:58: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:60: error: expected primary-expression before ‘)’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:44: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:59: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:61: error: expected primary-expression before ‘)’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:56: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:71: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:73: error: expected primary-expression before ‘)’ token
In file included from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_camera_utils.cpp:35:0:
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
Output of verbose catkin_make run: https://gist.github.com/anonymous/c91bac3148ae5a96dec1
![]() | 2 | No.2 Revision |
OK so I've also updated all my source repositories, and had to fix the missing SDF.hh error which seems to be due to the SDF repository removing the file SDF.hh. So I changed the includes in the files gazebo_ros_block_laser.cpp, gazebo_ros_bumper.cpp, and gazebo_ros_camera_utils.cpp to
#include <sdf/sdf.hh>
Then I still get the redefinition of ‘class sdf::Param’ error. How is this supposed to work? Should Gazebo even have a Param.hh file in its source repo? Here are the latest source files:
Latest version of gazebo/physics/State.hh https://bitbucket.org/osrf/gazebo/src/dd765457ec03337cf12fa75ce8327674e6c8d79c/gazebo/physics/State.hh?at=default includes "gazebo/sdf/sdf.hh"
Latest version of gazebo/sdf/sdf.hh https://bitbucket.org/osrf/gazebo/src/dd765457ec03337cf12fa75ce8327674e6c8d79c/gazebo/sdf/sdf.hh?at=default includes "gazebo/sdf/interface/Param.hh"
groovy-devel branch version of /gazebo_ros_pkgs/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h https://github.com/ros-simulation/gazebo_ros_pkgs/blob/groovy-devel/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h
#include <sdf/Param.hh>
Output of normal catkin_make run:
Built target gazebo_plugins_gencfg
Scanning dependencies of target gazebo_ros_camera_utils
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_block_laser.dir/src/gazebo_ros_block_laser.cpp.o
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_bumper.dir/src/gazebo_ros_bumper.cpp.o
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_camera_utils.dir/src/gazebo_ros_camera_utils.cpp.o
In file included from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:32:0:
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
In file included from /usr/local/include/gazebo-1.9/gazebo/sdf/interface/SDF.hh:25:0,
from /usr/local/include/gazebo-1.9/gazebo/sdf/sdf.hh:21,
from /usr/local/include/gazebo-1.9/gazebo/physics/State.hh:26,
from /usr/local/include/gazebo-1.9/gazebo/physics/ModelState.hh:30,
from /usr/local/include/gazebo-1.9/gazebo/physics/Model.hh:31,
from /usr/local/include/gazebo-1.9/gazebo/physics/Actor.hh:24,
from /usr/local/include/gazebo-1.9/gazebo/physics/physics.hh:2,
from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h:37,
from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_block_laser.cpp:26:
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp: In member function ‘virtual void gazebo::GazeboRosBumper::Load(gazebo::sensors::SensorPtr, sdf::ElementPtr)’:
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:43: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:58: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:60: error: expected primary-expression before ‘)’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:44: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:59: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:61: error: expected primary-expression before ‘)’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:56: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:71: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:73: error: expected primary-expression before ‘)’ token
In file included from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_camera_utils.cpp:35:0:
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
Output of verbose catkin_make run: https://gist.github.com/anonymous/c91bac3148ae5a96dec1
![]() | 3 | No.3 Revision |
OK so I've also updated all my source repositories, and had to fix the missing SDF.hh error which seems to be due to the SDF repository removing the file SDF.hh. So I changed the includes in the files gazebo_ros_block_laser.cpp, gazebo_ros_bumper.cpp, and gazebo_ros_camera_utils.cpp to
#include <sdf/sdf.hh>
Then I still get the redefinition of ‘class sdf::Param’ error. How is this supposed to work? Should Gazebo even have a Param.hh file in its source repo? Here are the latest source files:
Latest version of gazebo/physics/State.hh https://bitbucket.org/osrf/gazebo/src/dd765457ec03337cf12fa75ce8327674e6c8d79c/gazebo/physics/State.hh?at=default includes "gazebo/sdf/sdf.hh"
Latest version of gazebo/sdf/sdf.hh https://bitbucket.org/osrf/gazebo/src/dd765457ec03337cf12fa75ce8327674e6c8d79c/gazebo/sdf/sdf.hh?at=default includes "gazebo/sdf/interface/Param.hh"
groovy-devel branch version of /gazebo_ros_pkgs/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h https://github.com/ros-simulation/gazebo_ros_pkgs/blob/groovy-devel/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h
#include <sdf/Param.hh>
Output of normal catkin_make run:
Built target gazebo_plugins_gencfg
Scanning dependencies of target gazebo_ros_camera_utils
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_block_laser.dir/src/gazebo_ros_block_laser.cpp.o
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_bumper.dir/src/gazebo_ros_bumper.cpp.o
[ 70%] Building CXX object gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_ros_camera_utils.dir/src/gazebo_ros_camera_utils.cpp.o
In file included from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:32:0:
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
In file included from /usr/local/include/gazebo-1.9/gazebo/sdf/interface/SDF.hh:25:0,
from /usr/local/include/gazebo-1.9/gazebo/sdf/sdf.hh:21,
from /usr/local/include/gazebo-1.9/gazebo/physics/State.hh:26,
from /usr/local/include/gazebo-1.9/gazebo/physics/ModelState.hh:30,
from /usr/local/include/gazebo-1.9/gazebo/physics/Model.hh:31,
from /usr/local/include/gazebo-1.9/gazebo/physics/Actor.hh:24,
from /usr/local/include/gazebo-1.9/gazebo/physics/physics.hh:2,
from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h:37,
from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_block_laser.cpp:26:
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp: In member function ‘virtual void gazebo::GazeboRosBumper::Load(gazebo::sensors::SensorPtr, sdf::ElementPtr)’:
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:43: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:58: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:78:60: error: expected primary-expression before ‘)’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:44: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:59: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:85:61: error: expected primary-expression before ‘)’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:56: error: ‘class sdf::Element’ has no member named ‘Get’
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:71: error: expected primary-expression before ‘>’ token
/home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_bumper.cpp:95:73: error: expected primary-expression before ‘)’ token
In file included from /home/zeyn/Dropbox/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/src/gazebo_ros_camera_utils.cpp:35:0:
/usr/include/sdformat-1.4/sdf/Param.hh:52:9: error: redefinition of ‘class sdf::Param’
/usr/local/include/gazebo-1.9/gazebo/sdf/interface/Param.hh:52:9: error: previous definition of ‘class sdf::Param’
Output of verbose catkin_make run: https://gist.github.com/anonymous/c91bac3148ae5a96dec1
The only other thing is that I'm not quite up-to-speed with Catkin, and its possible I've got my environment in a muddle. My settings are:
zeyn@limivorous [~/catkin_ws] echo $LD_LIBRARY_PATH
/usr/local/lib/gazebo-1.9/plugins:/usr/local/lib:/home/zeyn/Dropbox/catkin_ws/devel/lib:/home/zeyn/catkin_ws/devel/lib:/opt/ros/groovy/lib
zeyn@limivorous [~/catkin_ws] echo $ROS_PACKAGE_PATH
/home/zeyn/Dropbox/catkin_ws/src:/home/zeyn/Dropbox/catkin_ws/src:/opt/ros/groovy/share:/opt/ros/groovy/stacks
(note that ~/catkin_ws is a symlink to ~/Dropbox/catkin_ws)