ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

kinetic uses unstable eigen3 on Ubuntu 16.04

asked 2018-02-21 06:37:35 -0600

mark_vision gravatar image

updated 2018-02-21 07:40:54 -0600

Dear all, as I've recently discovered, Ubuntu 16.04 has by default libeigen3-dev pointing to the unstable branch 3.3-beta1, which has serious bugs as the following one:

#include <iostream>
#include <Eigen/Dense>

using namespace std;
using namespace Eigen;

int main()
    Eigen::Vector3d b = Eigen::Vector3d::Random();
    Eigen::MatrixXd A = Eigen::MatrixXd::Random(3,3);

    std::cout << "The following code crashes from Eigen 3.3-beta1 to Eigen 3.3-RC1" << std::endl;
    std::cout << -A*b << std::endl;

    return 0;

Now, I could solve by using Eigen 3.3.4 (stable) for my applications. Although, official ROS Kinetic packages (such as tf) would still be linked against the unstable version.

Besides the general instability that this can bring to official ROS packages, I'm afraid that linking my code with 3.3.4 and ROS packages with 3.3-beta1 would cause problems.

Could the different versions co-existence be an issue?

BTW, the best would be to have the official libeigen3-dev to point to 3.3.4 and then have ROS build consequently.

Therefore, I've sent a bug report here (if you are interested):

edit retag flag offensive close merge delete


This seems like an issue upstream should fix, especially seeing as this is an LTS release of Ubuntu. If upstream doesn't see the need to fix this it might be necessary to do something in ROS, but for now I'd say wait for a response on your launchpad bug.

+100 for reporting upstream btw.

gvdhoorn gravatar image gvdhoorn  ( 2018-02-21 10:08:02 -0600 )edit

I guess that if you declare the bug to be affecting also you it would speed up the process.

mark_vision gravatar image mark_vision  ( 2018-02-21 12:27:23 -0600 )edit

No response from the upstream in months. What should I do? How can I alert the ROS maintainers?

An LTS version with unstable code inside is a severe issue IMHO.

I'm surprised nobody noticed so far.

mark_vision gravatar image mark_vision  ( 2018-03-31 07:36:05 -0600 )edit

I'm not entirely sure really. I think this merits a post on ROS Discourse, seeing as it such a ubiquitously used package.

gvdhoorn gravatar image gvdhoorn  ( 2018-04-08 11:16:31 -0600 )edit

I posted a summary of this post on ROS Discourse (here).

gvdhoorn gravatar image gvdhoorn  ( 2018-04-10 05:51:52 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2018-06-01 08:58:50 -0600

gvdhoorn gravatar image

Copying the post by @tfoote on ROS Discourse here (this one):

Looking into the upstream ticket “unstable” is not exactly the right characterization. The debian package was imported from the latest available release and has “stably” been using that release since there have been no changes. And I don’t think that there are any changes expected.

However it has been identified that there is a bug in that release as it was a prerelease. However as debian is quite conservative particularly about maintaining stability they are very unlikely to switch to a newer or older release. Suggesting this in the ubuntu/debian bug tracker is not going to get much attention. However for a bug such as this if there’s a patch that can be applied without breaking the ABI they will likely consider applying that to the debian package.

We definitely do not want to diverge from what ubuntu/debian is packaging on a package as core as eigen. The best way to resolve this would be to submit a patch to the debian package that resolve the known/reproducible bug in the hopes that their review will determine that it’s likely to resolve more issues than it creates, for users expecting stability from the distribution.

edit flag offensive delete link more


The release used officially in Ubuntu 16.04 is not a stable release, as it is not listed in the official list of releases: The closest to it is the 3.3rc2, which doesn't have the bug. And it's a beta release, which by definition is not stable.

mark_vision gravatar image mark_vision  ( 2018-06-06 03:33:35 -0600 )edit

Perhaps you can add something to discussion on ROS Discourse? At the moment is looks like the matter is closed, with the last comment by @tfoote.

gvdhoorn gravatar image gvdhoorn  ( 2018-06-06 05:48:59 -0600 )edit

Your Answer

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

Add Answer

Question Tools



Asked: 2018-02-21 06:37:35 -0600

Seen: 704 times

Last updated: Jun 01 '18