Package Details: superslicer-git 1:2.4.58.5.r0.g76856c584-1

Git Clone URL: https://aur.archlinux.org/superslicer-git.git (read-only, click to copy)
Package Base: superslicer-git
Description: G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
Upstream URL: https://github.com/supermerill/SuperSlicer
Keywords: 3d 3d-printing 3dprinter gcode printing prusaslicer slic3r slic3r++ slicer stl superslicer
Licenses: AGPL3
Conflicts: superslicer, superslicer-prerelease
Provides: superslicer
Replaces: slic3r++
Submitter: LuckyTurtleDev
Maintainer: LuckyTurtleDev
Last Packager: msrd0
Votes: 0
Popularity: 0.000000
First Submitted: 2020-10-16 10:38 (UTC)
Last Updated: 2022-09-26 10:19 (UTC)

Latest Comments

1 2 3 4 Next › Last »

brn commented on 2022-07-30 22:32 (UTC) (edited on 2022-07-30 22:33 (UTC) by brn)

I was able to compile the app (I'm not a C++ dev though, maybe I did something wrong). I addressed two issues:

  • wxwidgets 3.2:

❯ cat 0005-baron.patch

diff -r -U2 -p0 SuperSlicer/src/CMakeLists.txt SuperSlicer.baron/src/CMakeLists.txt
--- a/src/CMakeLists.txt    2022-07-31 00:25:47.067587076 +0300
+++ b/src/CMakeLists.txt    2022-07-31 00:28:15.060108308 +0300
@@ -48,13 +48,13 @@ if (SLIC3R_GUI)
             find_package(wxWidgets 3.0 REQUIRED COMPONENTS base core adv html gl stc)
         else ()
-            find_package(wxWidgets 3.1 QUIET COMPONENTS base core adv html gl stc)
+            find_package(wxWidgets 3.2 QUIET COMPONENTS base core adv html gl stc)

             if (NOT wxWidgets_FOUND)
-                message(FATAL_ERROR "\nCould not find wxWidgets 3.1.\n"
+                message(FATAL_ERROR "\nCould not find wxWidgets 3.2.\n"
                     "Hint: On Linux you can set -DSLIC3R_WX_STABLE=1 to use wxWidgets 3.0\n")
             endif ()
         endif ()
     else ()
-        find_package(wxWidgets 3.1 REQUIRED COMPONENTS html adv gl core base stc scintilla)
+        find_package(wxWidgets 3.2 REQUIRED COMPONENTS html adv gl core base stc scintilla)
     endif ()
  • boost issue:

❯ cat 0006-baron.patch

diff -r -U2 -p0 SuperSlicer.baron/src/slic3r/GUI/ScriptExecutor.cpp SuperSlicer/src/slic3r/GUI/ScriptExecutor.cpp
--- SuperSlicer.baron/src/slic3r/GUI/ScriptExecutor.cpp 2022-07-31 01:02:12.000000000 +0300
+++ SuperSlicer/src/slic3r/GUI/ScriptExecutor.cpp   2022-07-31 01:16:54.927419028 +0300
@@ -7,4 +7,5 @@

 #include <string>
+#include <boost/filesystem/string_file.hpp>

However the binary doesn't work for me: ❯ superslicer [2022-07-31 01:31:10.309514] [0x00007ff7f5c8c000] [trace] Initializing StaticPrintConfigs [1] 2072322 segmentation fault (core dumped) superslicer

That also happens with the prebuilt superslicer package from pacman, so these two little patches may work for you

LuckyTurtleDev commented on 2022-07-24 16:56 (UTC)

The official cereal, boost and openexr3 patch for superslicer can be used. But the superslicer-git does still fail build with an boost issue.

LuckyTurtleDev commented on 2022-07-24 15:37 (UTC)

I have sadly not enough time at the moment to create new patches.

@nicman23 I can not apply you patch, because it will be rejected. Can you may publish the full version?

@sl1pkn07 Your patch is sadly outdated now.

nicman23 commented on 2022-07-24 08:53 (UTC)

patch for 0003 patch

diff --git a/0003-openexr3.patch b/0003-openexr3.patch
index 9c7708e..7e7fdd8 100644
--- a/0003-openexr3.patch
+++ b/0003-openexr3.patch
@@ -1,12 +1,10 @@
-diff --git a/cmake/modules/FindOpenVDB.cmake b/cmake/modules/FindOpenVDB.cmake
-index 02420fed8..c5748b3bb 100644
---- a/cmake/modules/FindOpenVDB.cmake
-+++ b/cmake/modules/FindOpenVDB.cmake
-@@ -326,28 +326,11 @@ macro(just_fail msg)
+--- a/cmake/modules/FindOpenVDB.cmake.orig 2022-07-24 11:42:50.875255887 +0300
++++ a/cmake/modules/FindOpenVDB.cmake  2022-07-24 11:48:54.112735190 +0300
+@@ -347,29 +347,10 @@
    return()
  endmacro()

--find_package(IlmBase QUIET COMPONENTS Half)
+-find_package(IlmBase QUIET)
 -if(NOT IlmBase_FOUND)
 -  pkg_check_modules(IlmBase QUIET IlmBase)
 -endif()
@@ -28,12 +26,12 @@ index 02420fed8..c5748b3bb 100644
  find_package(TBB ${_quiet} ${_required} COMPONENTS tbb)
  find_package(ZLIB ${_quiet} ${_required})
  find_package(Boost ${_quiet} ${_required} COMPONENTS iostreams system )
+-
 +find_package(Imath CONFIG)
-+
- 
  # Use GetPrerequisites to see which libraries this OpenVDB lib has linked to
  # which we can query for optional deps. This basically runs ldd/otoll/objdump
-@@ -398,7 +381,7 @@ foreach(PREREQUISITE ${_OPENVDB_PREREQUISITE_LIST})
+ # etc to track deps. We could use a vdb_config binary tools here to improve
+@@ -419,7 +400,7 @@
      set(OpenVDB_USES_LOG4CPLUS ON)
    endif()

@@ -42,7 +40,7 @@ index 02420fed8..c5748b3bb 100644
    if(NOT ${_HAS_DEP} EQUAL -1)
      set(OpenVDB_USES_ILM ON)
    endif()
-@@ -429,11 +412,7 @@ if(OpenVDB_USES_LOG4CPLUS)
+@@ -450,11 +431,7 @@
    find_package(Log4cplus ${_quiet} ${_required})
  endif()

@@ -55,7 +53,7 @@ index 02420fed8..c5748b3bb 100644
    find_package(OpenEXR ${_quiet} ${_required})
  endif()

-@@ -450,7 +429,7 @@ endif()
+@@ -471,7 +448,7 @@
  set(_OPENVDB_VISIBLE_DEPENDENCIES
    Boost::iostreams
    Boost::system
@@ -64,7 +62,7 @@ index 02420fed8..c5748b3bb 100644
  )

  set(_OPENVDB_DEFINITIONS)
-@@ -460,10 +439,7 @@ endif()
+@@ -481,10 +458,7 @@

  if(OpenVDB_USES_EXR)
    list(APPEND _OPENVDB_VISIBLE_DEPENDENCIES

dflemstr commented on 2022-07-22 16:31 (UTC)

Patches are out of date, patch nr 2 fails with:

patching file cmake/modules/Findcereal.cmake
patching file src/CMakeLists.txt
Hunk #1 succeeded at 141 (offset 18 lines).
patching file src/libslic3r/CMakeLists.txt
Hunk #1 succeeded at 358 (offset 37 lines).
patching file src/slic3r/CMakeLists.txt
Hunk #1 FAILED at 259.
1 out of 1 hunk FAILED -- saving rejects to file src/slic3r/CMakeLists.txt.rej

...and patch nr 3 fails with:

patching file cmake/modules/FindOpenVDB.cmake
Hunk #1 FAILED at 326.
Hunk #2 succeeded at 419 (offset 21 lines).
Hunk #3 succeeded at 450 (offset 21 lines).
Hunk #4 succeeded at 467 (offset 21 lines).
Hunk #5 succeeded at 477 (offset 21 lines).
1 out of 5 hunks FAILED -- saving rejects to file cmake/modules/FindOpenVDB.cmake.rej

sl1pkn07 commented on 2022-02-26 16:37 (UTC)

diff --git a/cmake/modules/FindTBB.cmake b/cmake/modules/FindTBB.cmake
index 7d2c975bd..18d323dc7 100644
--- a/cmake/modules/FindTBB.cmake
+++ b/cmake/modules/FindTBB.cmake
@@ -198,7 +198,7 @@ if(NOT TBB_FOUND)
     if (EXISTS "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h")
         file(READ "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h" _tbb_version_file)
     else()
-        file(READ "${TBB_INCLUDE_DIRS}/tbb/version.h" _tbb_version_file)
+        file(READ "${TBB_INCLUDE_DIRS}/oneapi/tbb/version.h" _tbb_version_file)
     endif()
     string(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1"
         TBB_VERSION_MAJOR "${_tbb_version_file}")
@@ -280,7 +280,7 @@ if(NOT TBB_FOUND)
     set(TBB_LIBRARIES ${TBB_LIBRARIES_RELEASE})
   endif()

-  set(TBB_DEFINITIONS "")
+  set(TBB_DEFINITIONS "TBB_VERSION_MAJOR=${TBB_VERSION_MAJOR}")
   if (MSVC AND TBB_STATIC)
     set(TBB_DEFINITIONS __TBB_NO_IMPLICIT_LINKAGE)
   endif ()
diff --git a/tests/catch2/catch.hpp b/tests/catch2/catch.hpp
index 282d1562c..c1a8b8a2b 100644
--- a/tests/catch2/catch.hpp
+++ b/tests/catch2/catch.hpp
@@ -10819,7 +10819,7 @@ namespace Catch {

     // 32kb for the alternate stack seems to be sufficient. However, this value
     // is experimentally determined, so that's not guaranteed.
-    static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
+    static constexpr std::size_t sigStackSize = 32768;

     static SignalDefs signalDefs[] = {
         { SIGINT,  "SIGINT - Terminal interrupt signal" },
diff --git a/cmake/modules/Findcereal.cmake b/cmake/modules/Findcereal.cmake
index b4829757e..648c79ea7 100644
--- a/cmake/modules/Findcereal.cmake
+++ b/cmake/modules/Findcereal.cmake
@@ -8,7 +8,6 @@ find_package(${CMAKE_FIND_PACKAGE_NAME} ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSIO
 if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND)
     # Fall-back solution to find the Cereal serialization library header file
     include(CheckIncludeFileCXX)
-    add_library(cereal INTERFACE)
     target_include_directories(cereal INTERFACE include)

     if (_quietly)
diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
index 1678d2e2f..d4ccea4d2 100644
--- a/src/libslic3r/CMakeLists.txt
+++ b/src/libslic3r/CMakeLists.txt
@@ -321,7 +321,6 @@ target_include_directories(libslic3r PUBLIC ${EXPAT_INCLUDE_DIRS})
 target_link_libraries(libslic3r
     libnest2d
     admesh
-    cereal
     libigl
     miniz
     boost_libs
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index 4824f8541..dd43103ad 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -259,7 +259,7 @@ target_compile_definitions(libslic3r_gui PRIVATE $<$<BOOL:${SLIC3R_ALPHA}>:SLIC3

 encoding_check(libslic3r_gui)

-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL OpenGL::GLU hidapi exif libcurl ${wxWidgets_LIBRARIES})
+target_link_libraries(libslic3r_gui libslic3r avrdude imgui GLEW::GLEW OpenGL::GL OpenGL::GLU hidapi exif libcurl ${wxWidgets_LIBRARIES})

 if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
     target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2216b7460..18fe344b5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -123,7 +123,7 @@ if (NOT WIN32)
     set_target_properties(Slic3r PROPERTIES OUTPUT_NAME "${SLIC3R_APP_CMD}")
 endif ()

-target_link_libraries(Slic3r libslic3r cereal)
+target_link_libraries(Slic3r libslic3r)
 if (APPLE)
 #    add_compile_options(-stdlib=libc++)
 #    add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE)
diff --git a/cmake/modules/FindDBus.cmake b/cmake/modules/FindDBus.cmake
index 1d0f29dd7..885c608e0 100644
--- a/cmake/modules/FindDBus.cmake
+++ b/cmake/modules/FindDBus.cmake
@@ -56,4 +56,4 @@ FIND_PATH(DBUS_ARCH_INCLUDE_DIR
 SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})

 INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBUS REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES)
\ No newline at end of file
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBus REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES)

DarioP commented on 2022-02-09 12:55 (UTC) (edited on 2022-02-11 11:05 (UTC) by DarioP)

@khumarahn

I encountered the same issue. It seems to be related to the TBB patch. I have got it building by commenting out these lines in the PKGBUILD:

patch -p1 < "$srcdir/tbb-2021.patch" # Fix build with TBB 2021
cp "$srcdir/FindTBB.cmake" "cmake/modules/FindTBB.cmake" # Fix build with TBB 2021

However it then fails on linking:

/usr/bin/ld: cannot find -lcereal

and indeed community/cereal does not seem to provide a shared object. I am not sure about how to proceed.

khumarahn commented on 2022-02-08 22:29 (UTC)

Does not build now, failing at some patches:

==> Starting prepare()...                         
patching file src/slic3r/GUI/GUI.cpp
Hunk #1 succeeded at 29 with fuzz 2 (offset -6 lines).
patching file cmake/modules/FindOpenVDB.cmake
patching file src/libslic3r/Print.cpp
Hunk #1 FAILED at 37. 
Hunk #2 FAILED at 353.
Hunk #3 FAILED at 706.
3 out of 3 hunks FAILED -- saving rejects to file src/libslic3r/Print.cpp.rej
patching file src/libslic3r/PrintBase.cpp
Reversed (or previously applied) patch detected!  Assume -R? [n]

LuckyTurtleDev commented on 2021-12-30 13:22 (UTC)

@gkatev I have fixed it

gkatev commented on 2021-12-24 17:05 (UTC)

I'm getting an error at the application of the tbb-2021 patch, on file PrintObject.cpp. Possibly due to this commit: https://github.com/supermerill/SuperSlicer/commit/9e4b73f0814ffd8b439bacebd68df86989df8b03

Removing the diff for PrintOject.cpp from the patch file fixed it for me.