Re: [eigen] Eigen2 to Eigen3 Migration Path

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

so to make sure I got it right, your goal would be to be able to
include both Eigen 2 and 3 in the same project? A typical scenario
would be: project A would use Eigen3 but at the same time relies on
lib B which relies on Eigen2. This does not look easy. However, if lib
B does not do scary things with Eigen2 (i.e., rely on internal stuff)
but only uses the public API, then our compatibility layer should do
the job. See this page:

http://eigen.tuxfamily.org/dox-devel/Eigen2ToEigen3.html

In other words, project A would include Eigen3 with the compatibility
layer before including any lib B header, and consequently lib B will
be using Eigen3 through the compatibility layer. How difficult is it
for you to run your unit tests with Eigen3+compatibility layer ? If
that's easy, then I would recommend you to first try that, see what's
missing not working and then check with us what can be done to improve
the compatibility layer. If you're (very) lucky this might even work
out of the box :)

gael


On Tue, Jan 11, 2011 at 11:13 PM, Tully Foote <tfoote@xxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> As an introduction I’m the developer who maintains the ROS wrapper of Eigen.
>   As we are approaching our next release we have quite a few developers who
> want Eigen3 to be integrated into the upcoming release.  However I have a
> problem in that several of our core libraries use Eigen2 and many packages
> built on top of them use Eigen2 as well.  Because Eigen3 and Eigen2 are API
> breaking I would like to be able to install them side by side so as to
> provide a period where developers can transition from Eigen2 to Eigen3.  We
> have found a temporary way to do this which involves patching all
> namespaces, include guards, and macros inside Eigen3 such that none of them
> collide with Eigen2.  However doing this is a problem for it means that our
> installation of Eigen3 is not the same as the  official released version,
> and any library written against the released version is not compatible with
> our mangled version.
>
> We’d really like to be able to support both Eigen2 and Eigen3 to allow a
> transition period for existing software using Eigen2.  Has anyone thought
> about how to deal with this migration and have a suggestion about how to
> proceed?
>
> Thanks,
> Tully
>
> BTW for scale I have several thousand lines of code using Eigen2 by name in
> our indexed repositories.  And I know that there are many projects building
> on top of our software which use our core libraries and consequently I
> expect are also using Eigen2.  Also we rely on external libraries which use
> Eigen2 natively such as kdl and opencv.
>
>
> --
> Tully Foote
> Systems Engineer
> Willow Garage, Inc.
> tfoote@xxxxxxxxxxxxxxxx
> (650) 475-2827
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/