Bug 2165219

Summary: folly: FTBFS in Fedora Rawhide (GCC 13)
Product: [Fedora] Fedora Reporter: Ben Beasley <code>
Component: follyAssignee: Davide Cavalca <davide>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 38CC: davide, filbranden, jwakely, michel, trodgers
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/folly
Whiteboard:
Fixed In Version: folly-2023.04.24.00-3.fc38 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-04 19:22:39 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: 2158241, 2171488, 2172707    

Description Ben Beasley 2023-01-28 15:37:23 UTC
Description of problem:
Package folly fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
2022.07.11.00-4.fc38

Steps to Reproduce:
koji build --scratch f38 folly-2022.07.11.00-4.fc38.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/folly

The build started to fail with GCC 13.

A patch is needed to add missing #include directives:

https://src.fedoraproject.org/rpms/folly/pull-request/5

Once that is done, there remains a more subtle error that I have not attempted to fix:

In file included from /builddir/build/BUILD/folly-2022.07.11.00/folly/futures/Future.h:2663,
                 from /builddir/build/BUILD/folly-2022.07.11.00/folly/futures/test/ThenCompileTest.h:21,
                 from /builddir/build/BUILD/folly-2022.07.11.00/folly/futures/test/ThenCompileTest.cpp:3:
/builddir/build/BUILD/folly-2022.07.11.00/folly/futures/Future-inl.h:148:8: error: mangling of 'void folly::futures::detail::CoreCallbackState<T, F>::setException(folly::Executor::KeepAlive<>&&, folly::exception_wrapper&&) [with T = folly::B; F = folly::Future<std::unique_ptr<int> >::thenTry<Basic_thenVariants_Test::TestBody()::<lambda(const folly::Try<std::unique_ptr<int> >&)> >(Basic_thenVariants_Test::TestBody()::<lambda(const folly::Try<std::unique_ptr<int> >&)>&&) &&::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<std::unique_ptr<int> >&&)>]' as '_ZN5folly7futures6detail17CoreCallbackStateINS_1BEZNOS_6FutureISt10unique_ptrIiSt14default_deleteIiEEE7thenTryIZN23Basic_thenVariants_Test8TestBodyEvEUlRKNS_3TryIS8_EEE0_EENS4_INS1_17tryCallableResultIS8_T_NSt9enable_ifIX14is_invocable_vISI_OSD_EEvE4typeEE10value_typeEEEOSI_EUlONS_8Executor9KeepAliveISR_EESK_E_E12setExceptionESU_ONS_17exception_wrapperE' conflicts with a previous mangle
  148 |   void setException(Executor::KeepAlive<>&& keepAlive, exception_wrapper&& ew) {
      |        ^~~~~~~~~~~~
/builddir/build/BUILD/folly-2022.07.11.00/folly/futures/Future-inl.h:148:8: note: previous mangling 'void folly::futures::detail::CoreCallbackState<folly::B, folly::Future<std::unique_ptr<int> >::thenTry<Basic_thenVariants_Test::TestBody()::<lambda(const folly::Try<std::unique_ptr<int> >&)> >(Basic_thenVariants_Test::TestBody()::<lambda(const folly::Try<std::unique_ptr<int> >&)>&&) &&::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<std::unique_ptr<int> >&&)> >::_ZN5folly7futures6detail17CoreCallbackStateINS_1BEZNOS_6FutureISt10unique_ptrIiSt14default_deleteIiEEE7thenTryIZN23Basic_thenVariants_Test8TestBodyEvEUlRKNS_3TryIS8_EEE0_EENS4_INS1_17tryCallableResultIS8_T_NSt9enable_ifIX14is_invocable_vISI_OSD_EEvE4typeEE10value_typeEEEOSI_EUlONS_8Executor9KeepAliveISR_EESK_E_E12setExceptionESU_ONS_17exception_wrapperE(folly::Executor::KeepAlive<>&&, folly::exception_wrapper&&)'
/builddir/build/BUILD/folly-2022.07.11.00/folly/futures/Future-inl.h:148:8: note: a later '-fabi-version=' (or =0) avoids this error with a change in mangling

Comment 1 Ben Cotton 2023-02-07 15:06:49 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle.
Changing version to 38.

Comment 2 Fedora Update System 2023-04-26 01:53:55 UTC
FEDORA-2023-c20554f9c2 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-c20554f9c2

Comment 3 Fedora Update System 2023-04-26 01:58:42 UTC
FEDORA-2023-c20554f9c2 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 4 Fedora Update System 2023-04-26 21:15:45 UTC
FEDORA-2023-34fdd01c21 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-34fdd01c21

Comment 5 Fedora Update System 2023-04-27 02:30:27 UTC
FEDORA-2023-34fdd01c21 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-34fdd01c21`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-34fdd01c21

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2023-05-04 19:22:39 UTC
FEDORA-2023-34fdd01c21 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.