Hi Sabrina,

adding -DEIGEN_DONT_VECTORIZE didnt work for me either. Then I found this document:
http://eigen.tuxfamily.org/index.php?title=FAQ#I_disabled_vectorization.2C_but_I.27m_still_getting_annoyed_about_alignment_issues.21

Define EIGEN_DONT_ALIGN
Or define both EIGEN_DONT_VECTORIZE and EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT

Tried all possible combinations but it didnt work :) I was still becoming the assertion. So, what I did in the end (not a very clean solution) was,

Added this to CMakeList.txt in pcl:
add_definitions(-DEIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT -DEIGEN_DONT_VECTORIZE)
add_definitions(-DEIGEN_DONT_ALIGN)

and finally comment the line in MapBase.h giving the assertion.
//ei_assert(EIGEN_IMPLIES(ei_traits<Derived>::Flags&AlignedBit, (size_t(m_data)&0xf)==0)
 //           && "data is not aligned");

and remake PCL...

No idea which side effects this might have but its working fine now. Anyway, just a temporal dirty solution.

Hope it works for you too.
Regards

Aitor

On Thu, Sep 16, 2010 at 12:40 PM, Sabrina Kliegl <skliegl@get.upb.de> wrote:
Hi Radu,

I am facing a similar problem as Aitor (I am using the
tabletop_object_detector). Which CMakeLists.txt do I have to modify exactly?

I tried the CMakeLists.txt in pcl then "make clean" and "make", but still get
the failed assertion.

Regards,
Sabrina

Am Dienstag 14 September 2010 10:42:22 schrieb Radu Bogdan Rusu:
> Aitor,
>
> Thanks for the bug report. We're aware of the eigen 32-bit
>  allocation/vectorization problems and are working on fixing these. In the
>  meantime, you can enable EIGEN_DONT_VECTORIZE (-DEIGEN_DONT_VECTORIZE to
>  add_definitions in CMakeLists.txt), which will fix these issues on 32bit
>  architectures.
>
> Cheers,
> Radu.
>
> On 09/14/2010 11:29 AM, Aitor Aldomā wrote:
> > Hi everyone,
> >
> > was using the PCL to detect the dominant plane from a point cloud,
> > similar to what is done in package tabletop_object_detector using
> > SACSegmentation or SACSegmentationFromNormals and one assertion fails:
> >
> > /home/aa/ros/stacks/point_cloud_perception/eigen3/include/Eigen/src/Core/
> >MapBase.h:192: void Eigen::MapBase<Derived>::checkSanity() const [with
> > Derived = Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>, 1,
> > Eigen::Stride<0, 0>
> >
> >  >]: Assertion `(!(ei_traits<Derived>::Flags&AlignedBit) ||
> >
> > ((size_t(m_data)&0xf)==0)) && "data is not aligned"' failed.
> >
> > Tried the example from:
> > http://www.ros.org/wiki/pcl/Tutorials/Planar%20model%20segmentation
> >
> > and the error persists but it does not occur always, just every now and
> > then :S I am testing on a 32-Bit Ubuntu operating system.
> >
> > Any idea? I would really appreciate it.
> >
> > Thanks in advance.
> > Aitor
> >
> >
> >
> > _______________________________________________
> > ros-users mailing list
> > ros-users@code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-users
>
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users