Ask Your Question
2

unresolvable dependency conflict in ros-hydro-desktop ubuntu raring

asked 2013-09-13 04:43:27 -0500

cheshirekow gravatar image

updated 2014-01-28 17:17:57 -0500

ngrennan gravatar image

I'm having trouble installing ros-hydro on ubuntu raring. I've followed the instructions on wiki.ros.org/hydro/Installation/Ubuntu. When I get to the installation step I run

~$ sudo apt-get install ros-hydro-desktop full

but I get the following error

~$ sudo apt-get install ros-hydro-desktop-full 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ros-hydro-desktop-full : Depends: ros-hydro-desktop but it is not going to be installed
                          Depends: ros-hydro-simulators but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Edit: more info: It appears that many of the ros-hydro packages depend on libbost-all-dev which is a meta package depending on libboost-[library]1.53-dev. However ros-hydro-desktop depends on gazebo which depends on libogre-dev which depends on libboost-[date-time|thread]1.49-dev. In other words we have the following dependency graph:

libboost-<X>1.49-dev --x-- libboost-<X>1.53-dev
    |                       |
libogre-dev                libboost-<X>-dev
    |                       |
gazebo                     libboost-all-dev
    |                       |
   ...                     ros-hydro-<SEE_LIST> 
    |                     /
    |                    /
    |                   /
ros-hydro-desktop _____/ 
    |
ros-hydro-desktop-full

where the list of packages depending on libboost-all-dev is

ros-hydro-actionlib 
ros-hydro-bfl 
ros-hydro-bondcpp 
ros-hydro-camera-info-manager 
ros-hydro-camera1394 
ros-hydro-console-bridge 
ros-hydro-cv-bridge 
ros-hydro-depth-image-proc 
ros-hydro-dynamic-reconfigure 
ros-hydro-ecto 
ros-hydro-ecto-image-pipeline 
ros-hydro-ecto-opencv 
ros-hydro-ecto-openni 
ros-hydro-ecto-pcl 
ros-hydro-fcl 
ros-hydro-geometric-shapes 
ros-hydro-hector-mapping 
ros-hydro-interval-intersection 
ros-hydro-kobuki-gazebo-plugins 
ros-hydro-laser-geometry 
ros-hydro-libg2o 
ros-hydro-libsegwayrmp 
ros-hydro-moveit-core 
ros-hydro-nodelet 
ros-hydro-object-recognition-capture 
ros-hydro-object-recognition-core 
ros-hydro-object-recognition-renderer 
ros-hydro-object-recognition-ros 
ros-hydro-oculus-rviz-plugins 
ros-hydro-ompl 
ros-hydro-openhrp3 
ros-hydro-pcl 
ros-hydro-pluginlib 
ros-hydro-random-numbers 
ros-hydro-rosbag 
ros-hydro-rospack 
ros-hydro-rostest 
ros-hydro-rostime 
ros-hydro-settlerlib 
ros-hydro-srdfdom 
ros-hydro-stage-ros 
ros-hydro-urdfdom 
ros-hydro-urdfdom-headers 
ros-hydro-uwsim 
ros-hydro-uwsim-osgbullet 
ros-hydro-uwsim-osgocean 
ros-hydro-uwsim-osgworks
edit retag flag offensive close merge delete

5 Answers

Sort by » oldest newest most voted
3

answered 2013-09-14 11:24:06 -0500

tfoote gravatar image

You have something weird with your packages on your machine. libboost-all-dev in Raring is 1.49: http://packages.ubuntu.com/raring/libboost-all-dev

I think you might have Saucy sources on your computer. It has 1.53 http://packages.ubuntu.com/saucy/libboost-all-dev

edit flag offensive delete link more

Comments

Thanks for the suggestion. It seems you're right. I don't have Saucy sources, but I do have the ubuntu-toolchain-r/test ppa, which I've added in order to get gcc-4.8. By running `apt-cache policy libboost-dev` I see that it provides boost 1.53. It's always the last place you look...

cheshirekow gravatar image cheshirekow  ( 2013-09-14 11:55:21 -0500 )edit
1

answered 2013-09-13 07:56:18 -0500

cheshirekow gravatar image

This is an aweful, horrible solution. It works, evidently, because ogre does not depend on boost 1.49 and works fine with boost 1.53.

  1. build and install ogre from source
  2. create a fake empty package providing libogre-dev
  3. install the package
  4. then install ros-hydro-desktop with apt-get

Creating a fake empty package

create a file called libogre1.8-dev and cat the following contents

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: libogre1.8-dummy
Version: 1.8.0
Maintainer: cheshirekow <<a href="mailto:cheshirekow@gmail.com">cheshirekow@gmail.com</a>>
Provides: libogre1.8.0,libogre1.8-dev,libogre-dev
Description: empty dummy package
   no description

Now run equivs-build libogre1.8-dev to build the deb package. Install it with sudo dpkg -i libogre1.8-dummy_1.8.0_all.deb. The equivs-build command can be installed by the equivs package.

edit flag offensive delete link more

Comments

This solution worked for me perfectly in saucy. It is a good workaround.

Pablo Iñigo Blasco gravatar image Pablo Iñigo Blasco  ( 2014-03-15 00:55:47 -0500 )edit
1

answered 2013-10-10 11:35:20 -0500

xaedes gravatar image

I had the same problem. I installed and used aptitude instead of apt-get and it worked. Try this. It gives you many options to solve the dependency problem. Choose one that suits you.

edit flag offensive delete link more

Comments

Can you explain how you "used" aptitude to solve the problem? I still see only 1.53 in aptitude. thanks!

mentar gravatar image mentar  ( 2013-10-31 03:33:04 -0500 )edit

Aptitude tries to resolve the conflict while installing. It gave me some options how to solve the conflict. I chose one and it worked. I have an older version of some file now, but I could install everything.

xaedes gravatar image xaedes  ( 2013-11-01 02:20:31 -0500 )edit

Could you tell me how to use aptitude in the latested versions of ubuntu ?

Dayire gravatar image Dayire  ( 2015-02-06 19:12:33 -0500 )edit
0

answered 2014-03-03 21:47:26 -0500

MartinHummel gravatar image

Hi, here you find a good description of equivus: http://eric.lubow.org/2010/system-adm...

edit flag offensive delete link more
0

answered 2014-03-11 11:32:04 -0500

ricardoej gravatar image

Try enable the "Universe" repository in Ubuntu:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

Works wit

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2013-09-13 04:43:27 -0500

Seen: 6,755 times

Last updated: Mar 11 '14