slic3r-1.3.0-31.fc40 fails to build in Fedora 40 on x86_64: gcc -I/usr/lib64/perl5/CORE -fPIC -xc++ -Isrc/libslic3r -D_GLIBCXX_USE_C99 -DHAS_BOOL -DNOGDI -DSLIC3RXS -DBOOST_ASIO_DISABLE_KQUEUE -Dexprtk_disable_rtl_io_file -Dexprtk_disable_return_statement -Dexprtk_disable_rtl_vecops -Dexprtk_disable_string_capabilities -Dexprtk_disable_enhanced_features -U__STRICT_ANSI__ '-std=c++11' -DBOOST_LIBS -DNDEBUG -O -Wno-undefined-var-template -Isrc -Ibuildtmp -c -D_REENTRANT -D_GNU_SOURCE -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' -m64 '-mtune=generic' -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' -m64 '-mtune=generic' -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -o src/libslic3r/BoundingBox.o src/libslic3r/BoundingBox.cpp [...] In file included from /usr/include/c++/14/bits/chrono.h:39, from /usr/include/c++/14/mutex:43, from /usr/include/boost/system/detail/mutex.hpp:68, from /usr/include/boost/system/detail/error_category_impl.hpp:101, from /usr/include/boost/system/errc.hpp:17, from /usr/include/boost/system/system_error.hpp:9, from /usr/include/boost/thread/exceptions.hpp:22, from /usr/include/boost/thread/pthread/thread_data.hpp:10, from /usr/include/boost/thread/thread_only.hpp:17, from /usr/include/boost/thread/thread.hpp:12, from /usr/include/boost/thread.hpp:13, from src/libslic3r/libslic3r.h:11: /usr/include/c++/14/limits:2100:30: error: exponent has no digits 2100 | return __extension__ 0x1.0p-16382Q; | ^~~~~~ /usr/include/c++/14/limits:2114:30: error: exponent has no digits 2114 | return __extension__ 0x1.ffffffffffffffffffffffffffffp+16383Q; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/limits:2183:30: error: exponent has no digits 2183 | return __extension__ 0x1.0p-16494Q; | ^~~~~~ /usr/include/c++/14/limits: In static member function ‘static constexpr __float128 std::numeric_limits<__float128>::min()’: /usr/include/c++/14/limits:2100:37: error: unable to find numeric literal operator ‘operator""Q’ 2100 | return __extension__ 0x1.0p-16382Q; | ^~~~~~ /usr/include/c++/14/limits:2100:37: note: use ‘-fext-numeric-literals’ to enable more built-in suffixes /usr/include/c++/14/limits:2102:7: error: body of ‘constexpr’ function ‘static constexpr __float128 std::numeric_limits<__float128>::min()’ not a return-statement 2102 | } | ^ /usr/include/c++/14/limits: In static member function ‘static constexpr __float128 std::numeric_limits<__float128>::max()’: /usr/include/c++/14/limits:2114:64: error: unable to find numeric literal operator ‘operator""Q’ 2114 | return __extension__ 0x1.ffffffffffffffffffffffffffffp+16383Q; | ^~~~~~ /usr/include/c++/14/limits:2114:64: note: use ‘-fext-numeric-literals’ to enable more built-in suffixes /usr/include/c++/14/limits:2116:7: error: body of ‘constexpr’ function ‘static constexpr __float128 std::numeric_limits<__float128>::max()’ not a return-statement 2116 | } | ^ /usr/include/c++/14/limits: In static member function ‘static constexpr __float128 std::numeric_limits<__float128>::denorm_min()’: /usr/include/c++/14/limits:2183:37: error: unable to find numeric literal operator ‘operator""Q’ 2183 | return __extension__ 0x1.0p-16494Q; | ^~~~~~ /usr/include/c++/14/limits:2183:37: note: use ‘-fext-numeric-literals’ to enable more built-in suffixes /usr/include/c++/14/limits:2185:7: error: body of ‘constexpr’ function ‘static constexpr __float128 std::numeric_limits<__float128>::denorm_min()’ not a return-statement 2185 | } | ^ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-undefined-var-template’ may have been intended to silence earlier diagnostics error building src/libslic3r/BoundingBox.o from 'src/libslic3r/BoundingBox.cpp' at /usr/share/perl5/vendor_perl/ExtUtils/CBuilder/Base.pm line 185. A difference between passing and failing build roots is at <https://koschei.fedoraproject.org/build/17075430>. This failure might be triggered by upgrading gcc from 13.2.1-6.fc40 to 14.0.1-0.1.fc40. See bug #1321986.
Testing this: sed -i 's/-std=c++11/-std=gnu++11/' xs/Build.PL