prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.68k stars 1.93k forks source link

Compile error on official static Linux build #10660

Open alphanci opened 1 year ago

alphanci commented 1 year ago

Description of the bug

When I try to perform a statically linked build following the steps on this page on Arch Linux I get the following errors:

[alp@archdesktop build]$ make
[  0%] Built target hidapi
[  0%] Built target encoding-check
[  0%] Checking source files encodings for target libslic3r_gui
[  0%] Built target encoding-check-libslic3r_gui
[  0%] Checking source files encodings for target avrdude
[  0%] Built target encoding-check-avrdude
[  0%] Checking source files encodings for target avrdude-slic3r
[  0%] Built target encoding-check-avrdude-slic3r
[  0%] Checking source files encodings for target semver
[  0%] Built target encoding-check-semver
[  1%] Checking source files encodings for target libslic3r
[  1%] Built target encoding-check-libslic3r
[  1%] Built target global-encoding-check
[  3%] Built target admesh
[  9%] Built target avrdude
[  9%] Built target nowide
[  9%] Built target clipper
[ 10%] Built target miniz_static
[ 12%] Built target glu-libtess
[ 12%] Built target semver
[ 13%] Built target qoi
[ 14%] Built target libslic3r_cgal
[ 14%] Building CXX object src/libslic3r/CMakeFiles/libslic3r.dir/ExtrusionRole.cpp.o
In file included from /home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.cpp:1:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:11:6: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   11 | enum class ExtrusionRoleModifier : uint16_t {
      | ~~~~ ^~~~~
      |      -----
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:11:34: error: found ‘:’ in nested-name-specifier, expected ‘::’
   11 | enum class ExtrusionRoleModifier : uint16_t {
      |                                  ^
      |                                  ::
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:11:12: error: ‘ExtrusionRoleModifier’ has not been declared
   11 | enum class ExtrusionRoleModifier : uint16_t {
      |            ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:11:45: error: expected unqualified-id before ‘{’ token
   11 | enum class ExtrusionRoleModifier : uint16_t {
      |                                             ^
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:36:19: error: ‘ExtrusionRoleModifier’ was not declared in this scope
   36 | static_assert(int(ExtrusionRoleModifier::Count) <= 16, "ExtrusionRoleModifier: there must be maximum 16 modifiers defined to fit a 16 bit bitmask");
      |                   ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:38:45: error: ‘ExtrusionRoleModifier’ was not declared in this scope
   38 | using ExtrusionRoleModifiers = enum_bitmask<ExtrusionRoleModifier>;
      |                                             ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:38:66: error: template argument 1 is invalid
   38 | using ExtrusionRoleModifiers = enum_bitmask<ExtrusionRoleModifier>;
      |                                                                  ^
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:38:66: error: template argument 2 is invalid
In file included from /home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:4:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:39:31: error: ‘ExtrusionRoleModifier’ was not declared in this scope
   39 | ENABLE_ENUM_BITMASK_OPERATORS(ExtrusionRoleModifier);
      |                               ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/enum_bitmask.hpp:60:81: note: in definition of macro ‘ENABLE_ENUM_BITMASK_OPERATORS’
   60 | #define ENABLE_ENUM_BITMASK_OPERATORS(x) template<> struct is_enum_bitmask_type<x> { static constexpr const bool enable = true; };
      |                                                                                 ^
/home/alp/builds/PrusaSlicer/src/libslic3r/enum_bitmask.hpp:60:82: error: template argument 1 is invalid
   60 | #define ENABLE_ENUM_BITMASK_OPERATORS(x) template<> struct is_enum_bitmask_type<x> { static constexpr const bool enable = true; };
      |                                                                                  ^
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:39:1: note: in expansion of macro ‘ENABLE_ENUM_BITMASK_OPERATORS’
   39 | ENABLE_ENUM_BITMASK_OPERATORS(ExtrusionRoleModifier);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:42:1: error: expected class-name before ‘{’ token
   42 | {
      | ^
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:43:35: error: ‘ExtrusionRoleModifier’ does not name a type
   43 |     constexpr ExtrusionRole(const ExtrusionRoleModifier  bit) : ExtrusionRoleModifiers(bit) {}
      |                                   ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:44:35: error: ‘ExtrusionRoleModifiers’ does not name a type
   44 |     constexpr ExtrusionRole(const ExtrusionRoleModifiers bits) : ExtrusionRoleModifiers(bits) {}
      |                                   ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:44:15: error: ‘constexpr Slic3r::ExtrusionRole::ExtrusionRole(int)’ cannot be overloaded with ‘constexpr Slic3r::ExtrusionRole::ExtrusionRole(int)’
   44 |     constexpr ExtrusionRole(const ExtrusionRoleModifiers bits) : ExtrusionRoleModifiers(bits) {}
      |               ^~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:43:15: note: previous declaration ‘constexpr Slic3r::ExtrusionRole::ExtrusionRole(int)’
   43 |     constexpr ExtrusionRole(const ExtrusionRoleModifier  bit) : ExtrusionRoleModifiers(bit) {}
      |               ^~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:46:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   46 |     static constexpr const ExtrusionRoleModifiers None{};
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:48:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   48 |     static constexpr const ExtrusionRoleModifiers Perimeter{ ExtrusionRoleModifier::Perimeter };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:50:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   50 |     static constexpr const ExtrusionRoleModifiers ExternalPerimeter{ ExtrusionRoleModifier::Perimeter | ExtrusionRoleModifier::External };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:52:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   52 |     static constexpr const ExtrusionRoleModifiers OverhangPerimeter{ ExtrusionRoleModifier::Perimeter | ExtrusionRoleModifier::Bridge };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:54:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   54 |     static constexpr const ExtrusionRoleModifiers InternalInfill{ ExtrusionRoleModifier::Infill };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:56:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   56 |     static constexpr const ExtrusionRoleModifiers SolidInfill{ ExtrusionRoleModifier::Infill | ExtrusionRoleModifier::Solid };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:59:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   59 |     static constexpr const ExtrusionRoleModifiers TopSolidInfill{ ExtrusionRoleModifier::Infill | ExtrusionRoleModifier::Solid | ExtrusionRoleModifier::External };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:61:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   61 |     static constexpr const ExtrusionRoleModifiers Ironing{ ExtrusionRoleModifier::Infill | ExtrusionRoleModifier::Solid | ExtrusionRoleModifier::Ironing | ExtrusionRoleModifier::External };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:63:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   63 |     static constexpr const ExtrusionRoleModifiers BridgeInfill{ ExtrusionRoleModifier::Infill | ExtrusionRoleModifier::Solid | ExtrusionRoleModifier::Bridge | ExtrusionRoleModifier::External };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:68:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   68 |     static constexpr const ExtrusionRoleModifiers GapFill{ ExtrusionRoleModifier::Thin }; // | ExtrusionRoleModifier::External };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:70:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   70 |     static constexpr const ExtrusionRoleModifiers Skirt{ ExtrusionRoleModifier::Skirt };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:72:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   72 |     static constexpr const ExtrusionRoleModifiers SupportMaterial{ ExtrusionRoleModifier::Support };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:74:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   74 |     static constexpr const ExtrusionRoleModifiers SupportMaterialInterface{ ExtrusionRoleModifier::Support | ExtrusionRoleModifier::External };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:76:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   76 |     static constexpr const ExtrusionRoleModifiers WipeTower{ ExtrusionRoleModifier::Wipe };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:78:28: error: ‘ExtrusionRoleModifiers’ does not name a type
   78 |     static constexpr const ExtrusionRoleModifiers Mixed{ ExtrusionRoleModifier::Mixed };
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In constructor ‘constexpr Slic3r::ExtrusionRole::ExtrusionRole(int)’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:43:65: error: class ‘Slic3r::ExtrusionRole’ does not have any field named ‘ExtrusionRoleModifiers’
   43 |     constexpr ExtrusionRole(const ExtrusionRoleModifier  bit) : ExtrusionRoleModifiers(bit) {}
      |                                                                 ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In constructor ‘constexpr Slic3r::ExtrusionRole::ExtrusionRole(int)’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:44:66: error: class ‘Slic3r::ExtrusionRole’ does not have any field named ‘ExtrusionRoleModifiers’
   44 |     constexpr ExtrusionRole(const ExtrusionRoleModifiers bits) : ExtrusionRoleModifiers(bits) {}
      |                                                                  ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_perimeter() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:80:46: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   80 |     bool is_perimeter() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Perimeter); }
      |                                              ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:80:74: error: ‘ExtrusionRoleModifier’ has not been declared
   80 |     bool is_perimeter() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Perimeter); }
      |                                                                          ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_infill() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:82:43: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   82 |     bool is_infill() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Infill); }
      |                                           ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:82:71: error: ‘ExtrusionRoleModifier’ has not been declared
   82 |     bool is_infill() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Infill); }
      |                                                                       ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_solid_infill() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:83:70: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   83 |     bool is_solid_infill() const { return this->is_infill() && this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Solid); }
      |                                                                      ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:83:98: error: ‘ExtrusionRoleModifier’ has not been declared
   83 |     bool is_solid_infill() const { return this->is_infill() && this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Solid); }
      |                                                                                                  ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_external() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:84:45: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   84 |     bool is_external() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::External); }
      |                                             ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:84:73: error: ‘ExtrusionRoleModifier’ has not been declared
   84 |     bool is_external() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::External); }
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_bridge() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:85:43: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   85 |     bool is_bridge() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Bridge); }
      |                                           ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:85:71: error: ‘ExtrusionRoleModifier’ has not been declared
   85 |     bool is_bridge() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Bridge); }
      |                                                                       ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_support() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:87:44: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   87 |     bool is_support() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Support); }
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:87:72: error: ‘ExtrusionRoleModifier’ has not been declared
   87 |     bool is_support() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Support); }
      |                                                                        ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: In member function ‘bool Slic3r::ExtrusionRole::is_mixed() const’:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:90:42: error: ‘const Slic3r::ExtrusionRole::ExtrusionRoleModifiers’ has not been declared
   90 |     bool is_mixed() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Mixed); }
      |                                          ^~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:90:70: error: ‘ExtrusionRoleModifier’ has not been declared
   90 |     bool is_mixed() const { return this->ExtrusionRoleModifiers::has(ExtrusionRoleModifier::Mixed); }
      |                                                                      ^~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp: At global scope:
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:103:6: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  103 | enum class GCodeExtrusionRole : uint8_t {
      | ~~~~ ^~~~~
      |      -----
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:103:31: error: found ‘:’ in nested-name-specifier, expected ‘::’
  103 | enum class GCodeExtrusionRole : uint8_t {
      |                               ^
      |                               ::
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:103:12: error: ‘GCodeExtrusionRole’ has not been declared
  103 | enum class GCodeExtrusionRole : uint8_t {
      |            ^~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:103:41: error: expected unqualified-id before ‘{’ token
  103 | enum class GCodeExtrusionRole : uint8_t {
      |                                         ^
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:126:1: error: ‘GCodeExtrusionRole’ does not name a type; did you mean ‘ExtrusionRole’?
  126 | GCodeExtrusionRole extrusion_role_to_gcode_extrusion_role(ExtrusionRole role);
      | ^~~~~~~~~~~~~~~~~~
      | ExtrusionRole
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:128:44: error: ‘GCodeExtrusionRole’ was not declared in this scope; did you mean ‘ExtrusionRole’?
  128 | std::string gcode_extrusion_role_to_string(GCodeExtrusionRole role);
      |                                            ^~~~~~~~~~~~~~~~~~
      |                                            ExtrusionRole
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:129:1: error: ‘GCodeExtrusionRole’ does not name a type; did you mean ‘ExtrusionRole’?
  129 | GCodeExtrusionRole string_to_gcode_extrusion_role(const std::string_view role);
      | ^~~~~~~~~~~~~~~~~~
      | ExtrusionRole
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.cpp:13:1: error: ‘GCodeExtrusionRole’ does not name a type; did you mean ‘ExtrusionRole’?
   13 | GCodeExtrusionRole extrusion_role_to_gcode_extrusion_role(ExtrusionRole role)
      | ^~~~~~~~~~~~~~~~~~
      | ExtrusionRole
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.cpp:34:13: error: redefinition of ‘std::string Slic3r::gcode_extrusion_role_to_string’
   34 | std::string gcode_extrusion_role_to_string(GCodeExtrusionRole role)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.hpp:128:13: note: ‘std::string Slic3r::gcode_extrusion_role_to_string’ previously declared here
  128 | std::string gcode_extrusion_role_to_string(GCodeExtrusionRole role);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.cpp:34:44: error: ‘GCodeExtrusionRole’ was not declared in this scope; did you mean ‘ExtrusionRole’?
   34 | std::string gcode_extrusion_role_to_string(GCodeExtrusionRole role)
      |                                            ^~~~~~~~~~~~~~~~~~
      |                                            ExtrusionRole
/home/alp/builds/PrusaSlicer/src/libslic3r/ExtrusionRole.cpp:57:1: error: ‘GCodeExtrusionRole’ does not name a type; did you mean ‘ExtrusionRole’?
   57 | GCodeExtrusionRole string_to_gcode_extrusion_role(const std::string_view role)
      | ^~~~~~~~~~~~~~~~~~
      | ExtrusionRole
make[2]: *** [src/libslic3r/CMakeFiles/libslic3r.dir/build.make:342: src/libslic3r/CMakeFiles/libslic3r.dir/ExtrusionRole.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1111: src/libslic3r/CMakeFiles/libslic3r.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Project file & How to reproduce

I followed the build guide exactly step by step with the below changes:

I changed the version of OpenEXR dependency to 3.0.1 because I was getting errors. Made the following changes to deps/OpenEXR/OpenEXR.cmake file:

Added -DOPENVDB_FIND_MODULE_PATH=/usr/lib/cmake/OpenVDB parameter to cmake .. -DSLIC3R_STATIC=1 -DSLIC3R_GTK=3 -DSLIC3R_PCH=OFF -DCMAKE_PREFIX_PATH=$(pwd)/../deps/build/destdir/usr/local call. I got the idea from this issue.

Checklist of files included above

Version of PrusaSlicer

Commit 6894af24ac on master branch

Operating system

Arch Linux 6.3.3

Printer model

not related

combolek commented 1 year ago

This seems to be the same as #10679, which is fixed by b15b1f90722bcc53c074a2c4ab76ca7aea9840f0 (not merged yet)