ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Building ros hydro from source on Ubuntu 14.04

asked 2014-04-22 11:33:10 -0500

lucasw gravatar image

updated 2020-11-21 11:28:27 -0500

I upgraded a Ubuntu 13.10 system that had Hydro built from source to Ubuntu 14.04, and encountered the following issues:

rosdep

$ rosdep install --from-paths src --ignore-src --rosdistro hydro -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
roslaunch: No definition of [python-paramiko] for OS version [trusty]
qt_dotgraph: No definition of [python-pydot] for OS version [trusty]
rosgraph: No definition of [python-mock] for OS version [trusty]
rosdoc_lite: No definition of [python-sphinx] for OS version [trusty]
opencv2: No definition of [python-support] for OS version [trusty]
rqt_plot: No definition of [python-qt-bindings-qwt5] for OS version [trusty]
ps3joy: No definition of [python-bluez] for OS version [trusty]
wiimote: No definition of [python-cwiid] for OS version [trusty]
rqt_top: No definition of [python-psutil] for OS version [trusty]
roswtf: No definition of [python-paramiko] for OS version [trusty]
rqt_pose_view: No definition of [python-qt-bindings-gl] for OS version [trusty]
python_orocos_kdl: No definition of [python-sip] for OS version [trusty]
rviz: No definition of [libogre-dev] for OS version [trusty]

I think because all the dependencies were still lying around and installed from when rosdep worked fully in 13.10, I was able to skip over this.

Gazebo

It was (obvious in retrospect) necessary to rebuild gazebo, which I had built from source earlier, not doing this produced an error saying protobuf header files needed to be regenerated with protoc

catkin_make

I attempted to run the catkin_make command after that in the same workspace as had been used when the system was 13.10, but encountered difficulties with libqhull, libyaml-cpp, and libprotobuf- I think they all had version upticks for 14.04 which move the .so symlink to /usr/lib/x86_64-linux-gnu/ from /usr/lib, but the old .so.x.y libs were still there in /usr/lib.

Errors produced were of the sort:

/include/gazebo-2.2/gazebo/msgs/axis.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
...
undefined reference to `YAML::Node::Node()'

Maybe I should have run a catkin_make clean or similar but I ended up just starting over in a new catkin workspace, which built fine.

I haven't tested the built result much, and I'm pretty sure the build process would fail on a fresh 14.04 install due to the rosdep issue at the top here, but I'll try that eventually unless someone else documents it first.

Ogre

/usr/include/CEGUI/RendererModules/Ogre/CEGUIOgreRenderer.h:57:7: error: using typedef-name ‘Ogre::TexturePtr’ after ‘class’
class TexturePtr;

This has the workaround: ​ http://cegui.org.uk/forum/viewtopic.p... in /usr/include/CEGUI/RendererModules/Ogre/CEGUIOgreRenderer.h replace

class TexturePtr

with

class Texture;
template<typename T> class SharedPtr;
typedef SharedPtr<Texture> TexturePtr;
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2014-04-22 12:00:30 -0500

William gravatar image

I'm not sure what the issue is with your rosdep, but I have built all of desktop-full hydro on my fresh 14.04 machine after having built and installed gazebo and collada-dom from source.

Try updating rosdep and try again.

Also, it should be noted, Hydro isn't supported on Trusty, if it happen to build that's great, but we don't plan to spend a large amount of time maintaining it for Trusty. Indigo should be spun up relatively soon, like within a few months.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2014-04-22 11:33:10 -0500

Seen: 1,802 times

Last updated: May 05 '14