From a42f41e3c7e47ece58a748aee31723553db85c76b9566aa2cabaf82bb451100a Mon Sep 17 00:00:00 2001 From: Benjamin Greiner Date: Tue, 29 Aug 2023 08:29:32 +0000 Subject: [PATCH] Accepting request 1107871 from home:bnavigator:prusaslicer - Add PrusaSlicer-pr11154-fix-cgal-c++-error.patch * gh#prusa3d/PrusaSlicer#11154 * Fixes error on CGAL 5.6 OBS-URL: https://build.opensuse.org/request/show/1107871 OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=64 --- PrusaSlicer-pr11154-fix-cgal-c++-error.patch | 43 ++++++++++++++++++++ PrusaSlicer.changes | 7 ++++ PrusaSlicer.spec | 4 +- 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 PrusaSlicer-pr11154-fix-cgal-c++-error.patch diff --git a/PrusaSlicer-pr11154-fix-cgal-c++-error.patch b/PrusaSlicer-pr11154-fix-cgal-c++-error.patch new file mode 100644 index 0000000..e2be458 --- /dev/null +++ b/PrusaSlicer-pr11154-fix-cgal-c++-error.patch @@ -0,0 +1,43 @@ +From dcc281f3604b8508ec01e6649c883d7fff4bd3d1 Mon Sep 17 00:00:00 2001 +From: Chow Loong Jin +Date: Tue, 22 Aug 2023 15:35:56 +0800 +Subject: [PATCH] Fix compilation errors with -std=gnu++17 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes the following error: + +[ 19%] Built target imgui +/<>/src/libslic3r/MeshBoolean.cpp: In instantiation of ‘indexed_triangle_set Slic3r::MeshBoolean::cgal::cgal_to_indexed_triangle_set(const _Mesh&) [with _Mesh = CGAL::Surface_mesh >]’: +/<>/src/libslic3r/MeshBoolean.cpp:185:53: required from here +/<>/src/libslic3r/MeshBoolean.cpp:151:5: error: cannot bind non-const lvalue reference of type ‘CGAL::SM_Vertex_index&’ to an rvalue of type ‘boost::iterators::detail::iterator_facade_base >::Index_iterator, CGAL::SM_Vertex_index, std::random_access_iterator_tag, CGAL::SM_Vertex_index, long int, false, false>::reference’ {aka ‘CGAL::SM_Vertex_index’} + 151 | for (auto &vi : vertices) { + | ^~~ +/<>/src/libslic3r/MeshBoolean.cpp:156:5: error: cannot bind non-const lvalue reference of type ‘CGAL::SM_Face_index&’ to an rvalue of type ‘boost::iterators::detail::iterator_facade_base >::Index_iterator, CGAL::SM_Face_index, std::random_access_iterator_tag, CGAL::SM_Face_index, long int, false, false>::reference’ {aka ‘CGAL::SM_Face_index’} + 156 | for (auto &face : faces) { + | ^~~ +make[3]: *** [src/libslic3r/CMakeFiles/libslic3r_cgal.dir/build.make:121: src/libslic3r/CMakeFiles/libslic3r_cgal.dir/MeshBoolean.cpp.o] Error 1 +--- + src/libslic3r/MeshBoolean.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp +index c7ebcbd19e0..06fa5f35fce 100644 +--- a/src/libslic3r/MeshBoolean.cpp ++++ b/src/libslic3r/MeshBoolean.cpp +@@ -148,12 +148,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh) + const auto &vertices = cgalmesh.vertices(); + int vsize = int(vertices.size()); + +- for (auto &vi : vertices) { ++ for (const auto &vi : vertices) { + auto &v = cgalmesh.point(vi); // Don't ask... + its.vertices.emplace_back(to_vec3f(v)); + } + +- for (auto &face : faces) { ++ for (const auto &face : faces) { + auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face)); + + int i = 0; diff --git a/PrusaSlicer.changes b/PrusaSlicer.changes index 271e7c7..7be4dcf 100644 --- a/PrusaSlicer.changes +++ b/PrusaSlicer.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Aug 29 07:23:22 UTC 2023 - Ben Greiner + +- Add PrusaSlicer-pr11154-fix-cgal-c++-error.patch + * gh#prusa3d/PrusaSlicer#11154 + * Fixes error on CGAL 5.6 + ------------------------------------------------------------------- Sun Aug 20 16:01:37 UTC 2023 - Ben Greiner diff --git a/PrusaSlicer.spec b/PrusaSlicer.spec index 884cc08..e6a0db0 100644 --- a/PrusaSlicer.spec +++ b/PrusaSlicer.spec @@ -32,13 +32,15 @@ Patch1: PrusaSlicer-2.6.0-octoprint-name-fix.patch Patch2: PrusaSlicer-2.6.0-wxWidgets-CheckResizerFlags-assert-fix.patch # PATCH-FIX-UPSTREAM PrusaSlicer-drop-wx3.0.patch gh#prusa3d/PrusaSlicer#11027 - wxWidgets >= 3.1.6 is required Patch3: PrusaSlicer-drop-wx3.0.patch +# PATCH-FIX-UPSTREAM PrusaSlicer-pr11154-fix-cgal-c++-error.patch gh#prusa3d/PrusaSlicer#11154 +Patch4: PrusaSlicer-pr11154-fix-cgal-c++-error.patch BuildRequires: blosc-devel BuildRequires: cereal-devel +BuildRequires: cgal-devel >= 5.6 BuildRequires: cmake BuildRequires: eigen3-devel >= 3 BuildRequires: expat BuildRequires: fdupes -BuildRequires: (cgal-devel >= 4.13.2 with cgal-devel < 5.6) # gcc v8 is required as least for charconv header. version 10 exists on 15.4 and tumbleweed %if 0%{?suse_version} >= 1550 %define gcc_ver %{gcc_version}