Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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