From 13512f05716ab5c4e96334554831391efab6a6ae627836c1efcb82b6125f9b9f Mon Sep 17 00:00:00 2001 From: Benjamin Greiner Date: Tue, 22 Aug 2023 19:25:23 +0000 Subject: [PATCH 1/2] Accepting request 1105329 from home:bnavigator:branches:science - Limit to CGAL < 5.6 as it introduced breaking changes which PrusaSlicer is not compatible yet - Disable failing ix86 build OBS-URL: https://build.opensuse.org/request/show/1105329 OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=63 --- PrusaSlicer.changes | 7 +++++++ PrusaSlicer.spec | 12 +++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/PrusaSlicer.changes b/PrusaSlicer.changes index dec7da4..271e7c7 100644 --- a/PrusaSlicer.changes +++ b/PrusaSlicer.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun Aug 20 16:01:37 UTC 2023 - Ben Greiner + +- Limit to CGAL < 5.6 as it introduced breaking changes which + PrusaSlicer is not compatible yet +- Disable failing ix86 build + ------------------------------------------------------------------- Fri Jul 21 10:32:11 UTC 2023 - Ben Greiner diff --git a/PrusaSlicer.spec b/PrusaSlicer.spec index f16ec68..884cc08 100644 --- a/PrusaSlicer.spec +++ b/PrusaSlicer.spec @@ -34,11 +34,11 @@ Patch2: PrusaSlicer-2.6.0-wxWidgets-CheckResizerFlags-assert-fix.patch Patch3: PrusaSlicer-drop-wx3.0.patch BuildRequires: blosc-devel BuildRequires: cereal-devel -BuildRequires: cgal-devel >= 4.13.2 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} @@ -80,6 +80,8 @@ BuildRequires: pkgconfig(qhullcpp) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-egl) Requires: noto-sans-fonts +# Cannot allocate memory to build +ExcludeArch: %{ix86} %description PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code @@ -112,15 +114,7 @@ sed -i 's|slic3r_jobs_tests.cpp||' tests/slic3rutils/CMakeLists.txt # https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.build_job_constraints.html # https://en.opensuse.org/openSUSE:Specfile_guidelines#Parallel_make %limit_build -m 3072 -# sse2 flags for 32-bit: see gh#prusa3d/PrusaSlicer#3781 -%ifarch %ix86 - export CFLAGS="%optflags -mfpmath=sse -msse2" - export CXXFLAGS="$CFLAGS" -%endif export CC=gcc-%gcc_ver CXX=g++-%gcc_ver -# rh#2059646 -#sed -i tests/libslic3r/CMakeLists.txt -e '\@test_voronoi.cpp@d' - %cmake \ -DCMAKE_CXX_STANDARD=17 \ -DSLIC3R_FHS=1 \ From a42f41e3c7e47ece58a748aee31723553db85c76b9566aa2cabaf82bb451100a Mon Sep 17 00:00:00 2001 From: Benjamin Greiner Date: Tue, 29 Aug 2023 08:29:32 +0000 Subject: [PATCH 2/2] 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}