[ros-users] PCL registration compile errors

Radu Bogdan Rusu rusu at willowgarage.com
Wed Sep 15 02:54:34 UTC 2010


Hi Jared,

We've switched to Eigen3. I'm meeting with one of the main eigen developers/maintainers this week to discuss future plans for us benefiting more from eigen in ROS packages. The current errors that you're seeing are caused by mixing eigen2 and eigen3 together. I've set up a wiki page for eigen3 with the list of changes we had to make to convert PCL. If it's not too much trouble, can you try to see if that works for you? I'd really like PCL core 1.0 to depend on eigen3 when we'll finish it later this year - so fixing these issues now would be great.

Cheers,
Radu.
--
http://www.rbrusu.com

On Sep 14, 2010, at 12:26 PM, Jared Marshall Glover <jglov at MIT.EDU> wrote:

> Hi,
> 
> I just updated cturtle and I'm getting these compile errors in PCL.  I've
> attached my code (it's a simple registration-based point cloud tracker which
> was compiling fine before the update).
> 
> Thanks,
> Jared
> 
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/features/feature.hpp:326:
> error: ?eigen_values? was not declared in this scope
> In file included from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/sample_consensus/sac_model_registration.h:169,
>                  from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/registration/icp.h:46,
>                  from /home/jglov/lis/furniture/src/tracker.cpp:6:
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:
> In member function ?void
> pcl::SampleConsensusModelRegistration<PointT>::getSamples(int&,
> std::vector<int, std::allocator<int> >&)?:
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:73:
> error: ?Array4f? is not a member of ?Eigen?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:73:
> error: expected ?;? before ?p1p0?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:75:
> error: ?Array4f? is not a member of ?Eigen?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:75:
> error: expected ?;? before ?dy1dy2?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:91:
> error: ?Array4f? is not a member of ?Eigen?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:91:
> error: expected ?;? before ?p2p0?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:93:
> error: ?dy1dy2? was not declared in this scope
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:93:
> error: ?p1p0? was not declared in this scope
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:93:
> error: ?p2p0? was not declared in this scope
> In file included from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/sample_consensus/sac_model_registration.h:169,
>                  from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/registration/icp.h:46,
>                  from /home/jglov/lis/furniture/src/tracker.cpp:6:
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:102:
> error: ?dy1dy2? was not declared in this scope
> In file included from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/filters/voxel_grid.h:263,
>                  from /home/jglov/lis/furniture/src/tracker.cpp:4:
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/filters/voxel_grid.hpp:
> In member function ?void pcl::VoxelGrid<PointT>::applyFilter(typename
> pcl::Filter<PointT>::PointCloud&) [with PointT = pcl::PointXYZ]?:
> /home/jglov/lis/furniture/src/tracker.cpp:95:   instantiated from here
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/filters/voxel_grid.hpp:223:
> error: ?class Eigen::VectorXf? has no member named ?head?
> /home/jglov/lis/furniture/src/tracker.cpp:95:   instantiated from here
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/filters/voxel_grid.hpp:265:
> error: ?class Eigen::VectorXf? has no member named ?head?
> In file included from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/sample_consensus/sac_model_registration.h:169,
>                  from
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/include/pcl/registration/icp.h:46,
>                  from /home/jglov/lis/furniture/src/tracker.cpp:6:
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:
> In member function ?void
> pcl::SampleConsensusModelRegistration<PointT>::getSamples(int&,
> std::vector<int, std::allocator<int> >&) [with PointT = pcl::PointXYZ]?:
> /home/jglov/lis/furniture/src/tracker.cpp:95:   instantiated from here
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:88:
> warning: unused variable ?p2?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:69:
> warning: unused variable ?p0?
> 
> /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/sample_consensus/sac_model_registration.hpp:70:
> warning: unused variable ?p1?
> make[3]: *** [CMakeFiles/tracker.dir/src/tracker.o] Error 1
> make[3]: Leaving directory `/home/jglov/lis/furniture/build'
> make[2]: *** [CMakeFiles/tracker.dir/all] Error 2
> make[2]: Leaving directory `/home/jglov/lis/furniture/build'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/jglov/lis/furniture/build'
> 
> <tracker.cpp>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users



More information about the ros-users mailing list