Robotics StackExchange | Archived questions

ignition dependency conflict when building Gazebo from source

Gazebo depends on Ilibignition-math3-dev and libignition-transport3-dev.

However, libignition-transport3-dev depends on libignition-msgs-dev, which depends on libignition-math2-dev, which depends on libignition-math2. Installing libignition-math2 seems to uninstall Ilibignition-math3, which Ilibignition-math3-dev depends on.

In short Ilibignition-math3-dev depends on Ilibignition-math3, while libignition-transport3-dev depends on Ilibignition-math2. Unfortunately Ilibignition-math3 and Ilibignition-math2 are mutually exclusive.

One last thing: I'm on Ubuntu 14.04. Thanks.

UPDATE 1

I downloaded the source using the following command:

hg clone https://bitbucket.org/osrf/gazebo /tmp/gazebo

I'm a little unfamiliar with bitbucket, and but I didn't find any information about the version on the site or in the source code directory.

I have reviewed the question that you linked to. I did try running:

sudo apt remove '.*gazebo.*' '.*sdformat.*' '.*ignition-.*'

but the problem persisted.

My evidence that libignition-msgs-dev depends on libignition-math2-dev is as follows:

~/gazebo
❯ sudo apt-get install libignition-msgs-dev
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:
libignition-msgs-dev : Depends: libignition-math2-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

UPDATE 2

Switching to gazebo7 (hg up gazebo7) did the trick. Thanks.

Asked by ethanabrooks on 2017-03-23 14:09:03 UTC

Comments

Glad to hear. Feel free to accept the answer so other users know it worked for you.

Asked by chapulina on 2017-03-24 13:12:13 UTC

Answers

First of all, just want to make sure you're interested in building from source. Is that correct? Otherwise, you don't need to clone the code from Bitbucket, you can just follow this tutorial:

http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install

The latest supported version for your Ubuntu version (14.04 - Trusty) is Gazebo 7, Gazebo 8 and higher won't work. And that entails:

  • ignition-math2
  • ignition-transport1 or 2
  • No ignition-msgs

You can see a summary here:

http://gazebosim.org/tutorials?tut=install_dependencies_from_source&cat=install#IgnitionMath

So if you do want to build from source, you can either install the libraries above also from source, as described on the tutorial above, or from debian packages as you were trying to do.

Finally, when building from source, you can use hg up to update to the branch of your source. In your case, you'll want t use the gazebo7 branch:

cd <path to gazebo source>
hg up gazebo7

There's more information on building from source here:

http://gazebosim.org/tutorials?tut=install_from_source

Also see this other question:

http://answers.gazebosim.org/question/15384/gazebo8-depends-on-libignition-math2-and-libignition-math3-which-conflict/

Asked by chapulina on 2017-03-23 20:23:20 UTC

Comments

I posted a new answer to my question that contains the answers you were looking for. I don't know if you're notified unless I directly comment on your answer.

Asked by ethanabrooks on 2017-03-24 10:08:53 UTC

Hi @ethanabrooks, it's a good idea to leave a comment saying you've updated your question. But actually the proper way to add information to your question is to edit the original question, instead of adding a new answer. I'll do that for you ;)

Asked by chapulina on 2017-03-24 10:41:39 UTC

Oops. Thanks.

Asked by ethanabrooks on 2017-03-24 10:42:52 UTC

I updated my answer. Sorry I didn't realize earlier that you're using Ubuntu 14.04. You should be installing Gazebo 7 and its dependencies, not Gazebo 8.

Asked by chapulina on 2017-03-24 10:53:13 UTC