Skip to content

Build failed in some examples #784

@Siddharth-coder13

Description

@Siddharth-coder13

As I was trying to build the examples, I found 4 programs in the examples directory, which failed during compilations. After spending some time, it seems to me that these programs may have not been updated with the other repos .
As for example, on compiling 05_b_overlay_linestring_polygon_example.cpp

05_b_overlay_linestring_polygon_example.cpp: In function ‘int main()’:
05_b_overlay_linestring_polygon_example.cpp:70:17: error: ‘segment_ratio_type’ in namespace ‘bg’ does not name a template 
type; did you mean ‘segment_ratio’?
    70 |     typedef bg::segment_ratio_type<point_2d, bg::detail::no_rescale_policy>::type segment_ratio;
      |                 ^~~~~~~~~~~~~~~~~~
      |                 segment_ratio
05_b_overlay_linestring_polygon_example.cpp:71:54: error: ‘segment_ratio’ was not declared in this scope
   71 |     typedef bg::detail::overlay::turn_info<point_2d, segment_ratio> turn_info;
      |                                                      ^~~~~~~~~~~~~
05_b_overlay_linestring_polygon_example.cpp:71:54: note: suggested alternatives:
In file included from ../../../boost/geometry/policies/robustness/no_rescale_policy.hpp:19,
                 from ../../../boost/geometry/policies/robustness/rescale_policy_tags.hpp:12,
                 from ../../../boost/geometry/policies/robustness/segment_ratio_type.hpp:24,
                 from ../../../boost/geometry/strategies/intersection_strategies.hpp:20,
                 from ../../../boost/geometry/strategies/strategies.hpp:37,
                 from ../../../boost/geometry/geometry.hpp:58,
                 from 05_b_overlay_linestring_polygon_example.cpp:25:
../../../boost/geometry/policies/robustness/segment_ratio.hpp:107:7: note:   ‘boost::geometry::segment_ratio’
  107 | class segment_ratio
      |       ^~~~~~~~~~~~~
../../../boost/geometry/policies/robustness/segment_ratio.hpp:29:30: note:   ‘boost::geometry::detail::segment_ratio’
   29 | namespace detail { namespace segment_ratio
      |                              ^~~~~~~~~~~~~
05_b_overlay_linestring_polygon_example.cpp:71:67: error: template argument 2 is invalid
   71 |     typedef bg::detail::overlay::turn_info<point_2d, segment_ratio> turn_info;
      |                                                                   ^
05_b_overlay_linestring_polygon_example.cpp:71:67: error: template argument 3 is invalid
05_b_overlay_linestring_polygon_example.cpp:71:67: error: template argument 4 is invalid
05_b_overlay_linestring_polygon_example.cpp:75:110: error: no matching function for call to ‘get_turns<false, false, 
boost::geometry::detail::overlay::assign_null_policy> 
(boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >&, 
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >&, 
boost::geometry::detail::no_rescale_policy&, std::vector<int>&, boost::geometry::detail::get_turns::no_interrupt_policy&)’
   75 |     bg::get_turns<false, false, bg::detail::overlay::assign_null_policy>(ls, p, rescale_policy, turns, policy);
      |                                                                                                              ^
In file included from ../../../boost/geometry/algorithms/detail/relate/turns.hpp:20,
                 from ../../../boost/geometry/algorithms/detail/relate/linear_linear.hpp:32,
                 from ../../../boost/geometry/algorithms/detail/relate/implementation.hpp:24,
                 from ../../../boost/geometry/algorithms/relate.hpp:15,
                 from ../../../boost/geometry/algorithms/detail/within/implementation.hpp:43,
                 from ../../../boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from ../../../boost/geometry/algorithms/covered_by.hpp:24,
                 from ../../../boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from ../../../boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from ../../../boost/geometry/algorithms/buffer.hpp:41,
                 from ../../../boost/geometry/geometry.hpp:63,
                 from 05_b_overlay_linestring_polygon_example.cpp:25:
../../../boost/geometry/algorithms/detail/overlay/get_turns.hpp:1148:13: note: candidate: ‘template<bool Reverse1, bool 
Reverse2, class AssignPolicy, class Geometry1, class Geometry2, class IntersectionStrategy, class RobustPolicy, class Turns, 
class InterruptPolicy> void boost::geometry::get_turns(const Geometry1&, const Geometry2&, const IntersectionStrategy&, 
const RobustPolicy&, Turns&, InterruptPolicy&)’
 1148 | inline void get_turns(Geometry1 const& geometry1,
      |             ^~~~~~~~~
../../../boost/geometry/algorithms/detail/overlay/get_turns.hpp:1148:13: note:   template argument deduction/substitution 
failed:
05_b_overlay_linestring_polygon_example.cpp:75:110: note:   candidate expects 6 arguments, 5 provided
   75 |     bg::get_turns<false, false, bg::detail::overlay::assign_null_policy>(ls, p, rescale_policy, turns, policy);
      |                                                                                                              ^
05_b_overlay_linestring_polygon_example.cpp:81:18: error: request for member ‘operations’ in ‘turn’, which is of non-class 
type ‘const turn_info’ {aka ‘const int’}
   81 |         if (turn.operations[0].operation
      |                  ^~~~~~~~~~
05_b_overlay_linestring_polygon_example.cpp:86:23: error: request for member ‘operations’ in ‘turn’, which is of non-class 
type ‘const turn_info’ {aka ‘const int’}
   86 |         else if (turn.operations[0].operation
      |                       ^~~~~~~~~~
05_b_overlay_linestring_polygon_example.cpp:92:63: error: request for member ‘point’ in ‘turn’, which is of non-class type ‘ 
const turn_info’ {aka ‘const int’}
   92 |         std::cout << action << " polygon at " << bg::dsv(turn.point) << std::endl;
      |                                                               ^~~~~

"g++"   -fvisibility-inlines-hidden -fPIC -m64 -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden  -DBOOST_ALL_NO_LIB=1  - 
 I"../../.."  -c -o "../../../bin.v2/libs/geometry/example/gcc-9/debug/threading-multi/visibility- 
 hidden/05_b_overlay_linestring_polygon_example.o" "05_b_overlay_linestring_polygon_example.cpp"

...failed gcc.compile.c++ ../../../bin.v2/libs/geometry/example/gcc-9/debug/threading-multi/visibility- 
hidden/05_b_overlay_linestring_polygon_example.o...

In the worst case, there may be some issues with the header files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    buggood-first-issueWhat new contributors may find easy to start with and improve Geometry

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions