[ros-users] Eigen conflict in pcl/point_types.hpp

Radu Bogdan Rusu rusu at willowgarage.com
Tue Aug 31 16:18:48 UTC 2010


Jordi,

Thanks for the report. Unfortunately, I went through the same process yesterday where packages that depend on both eigen 
(2) and eigen3 have similar compilation issues.

The current code in PCL (or any other package that uses eigen for more than just the standard matrix/vector basic 
operations) cannot be compiled with Eigen3 as the structures changed a bit. I spent some time yesterday to document 
these changes (see http://www.ros.org/wiki/eigen3). We're currently preparing a big patch against PCL trunk that 
switches the entire internal structure to Eigen3. Part of the patch is the change from ForceAligned to Aligned in Maps, 
which should fix your compilation issue.

Cheers,
Radu.

On 08/31/2010 07:25 AM, Jordi Pages wrote:
> Hi, I have installed ROS c-turtle last release and I have created a
> service offering PCL capabilities through ROS messages. I need to call
> this service from code written apart from ROS that is linking to Eigen
> 3. The client should transform our own point cloud data structure to
> PointCloud2 message and then communicate with the service in order to
> perform filtering, segmentation, etc. Such architecture worked before
> installing the last release. However, now I get compilation problems
> related to file pcl/point_types.hpp. I have seen that this file has
> recently changed the way the different point clouds data types are
> defined. One of the compilation errors is as follows:
>
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/point_types.hpp:
> In member function ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>, 0>
> pcl::_PointXYZ::getVector4fMap()’:
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/point_types.hpp:73:
> error: conversion from ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>,
> 1>’ to non-scalar type ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>,
> 0>’ requested
>
> I have taken a look to point_types.hpp and it seems that
> Eigen::Vector4f::MapAligned (data)) does not return an aligned Map when
> it should?
>
> It is not the first time I get these type of compilation errors. I guess
> that most of them appear due to conflicts between Eigen 2 and Eigen 3.
> That is why I try to isolate pure ROS code in services and use minimal
> ROS dependencies in clients that make use of our own Eigen 3 based code.
> I have read that Eigen 3 is being used in the unstable trunk of ROS.
> Nevertheless, has anybody faced these problems before? Am I doing
> something wrong?
>
> Thanks
>
> --
> Jordi Pages, PhD
> Researcher
> Pal Robotics S.L.
>
> Tel: +34.93.414.53.47
> Fax: +34.93.209.11.09
> C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
> http://www.pal-robotics.com/
>
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos,
> pueden contener información privilegiada y/o confidencial que está
> dirigida exclusivamente a su destinatario.
> Si usted recibe este mensaje y no es el destinatario indicado, o el
> empleado encargado de su entrega a dicha persona, por favor, notifíquelo
> inmediatamente y remita el mensaje original a la dirección
> de correo electrónico indicada. Cualquier copia, uso o distribución no
> autorizados de esta comunicación queda estrictamente prohibida.
>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
> contain confidential information which is privileged and intended only
> for the individual or entity to whom they are addressed.  If you are not
> the intended recipient, you are hereby notified that any disclosure,
> copying, distribution or use of this e-mail and/or accompanying
> document(s) is strictly prohibited.  If you have received this e-mail in
> error, please immediately notify the sender at the above e-mail address.
>
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

-- 
| Radu Bogdan Rusu | http://rbrusu.com/



More information about the ros-users mailing list