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

libeigen-dev conflicts with OS version of package.

asked 2011-09-26 06:59:53 -0600

updated 2014-01-28 17:10:26 -0600

ngrennan gravatar image

When attempting to install electric, I've come across a conflict with the Ubuntu repository package for libeigen3-dev:

The following packages have unmet dependencies:
  ros-electric-eigen: Depends: libeigen3-dev (= 3.0.1-1+ros4~lucid) but 3.0.2-ubuntu2~lucid is to be installed

I can force libeigen3-dev to electric's version, but this does not feel like the "correct" option.

Is this a known issue? There is a similar question here:

... but it only discusses a work-around and not the base issue.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-09-26 22:35:32 -0600

Up until Ubuntu 11.04, Eigen3 is not part of the official Ubuntu repository, so the problem is most likely due to a conflicting version in another third-party repository. I suggest to force the ROS version for now.

For a long-term solution, it seems to me that ros-electric-eigen depending on a very specific version of libeigen3-dev is way too strict. If the package dependency were modified to e.g. Depends: libeigen3-dev (>= 3.0.1), the whole issue would resolve. This will become more urgent when Ubuntu 11.10 introduces its own version of libeigen3-dev (3.0.1-1).

edit flag offensive delete link more


The specific version is necessary in order to not cause ABI compatibility issues with these backport libs -- we lock to the version our debs were built against so that we can produce errors (like above), when there's a chance that two debs are built against different ABIs.
kwc gravatar image kwc  ( 2011-09-27 10:51:44 -0600 )edit
If you backported from 11.10, ABI breakage is unlikely. By the way, the backport version number 3.0.1-1+ros4 is greater than the original 3.0.1-1, which will prevent it from being updated on a system upgrade. If you use ~ instead of +, the upgrade works as expected.
roehling gravatar image roehling  ( 2011-09-27 19:02:05 -0600 )edit

Additionally, if one adds the ppa for PCL in order to use PCL outside of ROS, its version of libeigen3-dev is (3.0.x-1+lucid1) and is incompatible with the debian requirements for any ROS packages that use the main rosdep which specifies (3.0.x-1+ros4~lucid).

jbohren gravatar image jbohren  ( 2012-02-16 17:45:52 -0600 )edit

Question Tools


Asked: 2011-09-26 06:59:53 -0600

Seen: 842 times

Last updated: Sep 26 '11