OctoMap / octomap

An Efficient Probabilistic 3D Mapping Framework Based on Octrees. Contains the main OctoMap library, the viewer octovis, and dynamicEDT3D.
http://octomap.github.io
1.96k stars 658 forks source link

compilation issue with gcc 4.8 with the Groovy release #28

Closed vrabaud closed 11 years ago

vrabaud commented 11 years ago

4.8 is tighther and you fixed it in devel, but I believe it's not released yet:

In file included from /opt/ros/groovy/include/octomap/OccupancyOcTreeBase.h:43:0, from /opt/ros/groovy/include/octomap/OcTree.h:38, from /opt/ros/groovy/include/octomap/octomap.h:37, from /opt/ros/groovy/include/moveit/distance_field/propagation_distance_field.h:46, from /home/vrabaud/workspace/recognition_kitchen_groovy/src/ork_tabletop/src/object/model_fitter.cpp:39: /opt/ros/groovy/include/octomap/OcTreeBaseImpl.h: In instantiation of ‘class octomap::OcTreeBaseImpl<octomap::OcTreeNode, octomap::AbstractOccupancyOcTree>’: /opt/ros/groovy/include/octomap/OccupancyOcTreeBase.h:68:9: required from ‘class octomap::OccupancyOcTreeBaseoctomap::OcTreeNode’ /opt/ros/groovy/include/octomap/OcTree.h:49:25: required from here /opt/ros/groovy/include/octomap/OcTreeBaseImpl.h:149:20: error: cannot allocate an object of abstract type ‘octomap::OcTreeBaseImpl<octomap::OcTreeNode, octomap::AbstractOccupancyOcTree>’ OcTreeBaseImpl deepCopy() const; ^ In file included from /opt/ros/groovy/include/octomap/OccupancyOcTreeBase.h:43:0, from /opt/ros/groovy/include/octomap/OcTree.h:38, from /opt/ros/groovy/include/octomap/octomap.h:37, from /opt/ros/groovy/include/moveit/distance_field/propagation_distance_field.h:46, from /home/vrabaud/workspace/recognition_kitchen_groovy/src/ork_tabletop/src/object/model_fitter.cpp:39: /opt/ros/groovy/include/octomap/OcTreeBaseImpl.h:72:9: note: because the following virtual functions are pure within ‘octomap::OcTreeBaseImpl<octomap::OcTreeNode, octomap::AbstractOccupancyOcTree>’: class OcTreeBaseImpl : public INTERFACE {

You removed deepCopy() so things should be fine now. Thx.

ahornung commented 11 years ago

Can you confirm that it's working with the above commit (just removing the unnecessary stray declaration)? I tested compiling with gcc 4.8 and there were no errors in OctoMap itself (also none in 1.5 before the commit). If that's all then I can trigger a release into groovy from v1.5.5.

Technically, the default compiler for Groovy should be gcc 4.7 so that should not be a problem...

vrabaud commented 11 years ago

I confirm this works for me: just removing it form the header and even keeping the current libs. Thx

ahornung commented 11 years ago

Released version 1.5.5 with the fix, builds for Groovy are pending.