Bug 2259542

Summary: slic3r-1.3.0-31.fc40 FTBFS: /usr/include/c++/14/limits:2100:30: error: exponent has no digits
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: slic3rAssignee: Miro Hrončok <mhroncok>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, perl-devel
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/slic3r
Whiteboard:
Fixed In Version: slic3r-1.3.0-32.fc40 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-01-22 13:54:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2231791, 2259590    

Description Petr Pisar 2024-01-22 09:25:47 UTC
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.

Comment 1 Miro Hrončok 2024-01-22 11:26:19 UTC
Testing this:

  sed -i 's/-std=c++11/-std=gnu++11/' xs/Build.PL