Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Fix for GCC 12.2.0 , Fedora #38

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rohanverma94
Copy link

While building on Fedora with GCC 12.2, the CMake throws the following error in src/base/sequence_checker.cc & src/base/synchronization/auto_signaller.cc

/libbase/src/base/sequence_checker.cc: In constructor ‘base::SequenceChecker::SequenceChecker(base::SequenceChecker&&)’:
/libbase/src/base/sequence_checker.cc:14:23: error: ‘exchange’ is not a member of ‘std’
   14 |   sequence_id_ = std::exchange(other.sequence_id_, std::nullopt);
      |                       ^~~~~~~~
/libbase/src/base/sequence_checker.cc: In member function ‘base::SequenceChecker& base::SequenceChecker::operator=(base::SequenceChecker&&)’:
/libbase/src/base/sequence_checker.cc:23:23: error: ‘exchange’ is not a member of ‘std’
   23 |   sequence_id_ = std::exchange(other.sequence_id_, std::nullopt);

/libbase/src/base/synchronization/auto_signaller.cc: In constructor ‘base::AutoSignaller::AutoSignaller(base::AutoSignaller&&)’:
/libbase/src/base/synchronization/auto_signaller.cc:16:19: error: ‘exchange’ is not a member of ‘std’
   16 |     : event_(std::exchange(other.event_, nullptr)) {}
      |                   ^~~~~~~~
/libbase/src/base/synchronization/auto_signaller.cc: In member function ‘base::AutoSignaller& base::AutoSignaller::operator=(base::AutoSignaller&&)’:
/libbase/src/base/synchronization/auto_signaller.cc:23:19: error: ‘exchange’ is not a member of ‘std’
   23 |     event_ = std::exchange(other.event_, nullptr);

This has been fixed by adding <utility> header in src/base/sequence_checker.cc and src/base/synchronization/auto_signaller.cc.

@RippeR37 RippeR37 added the bug Something isn't working label Oct 6, 2022
@RippeR37 RippeR37 self-requested a review October 6, 2022 16:59
@codecov
Copy link

codecov bot commented Oct 6, 2022

Codecov Report

Merging #38 (2668d19) into master (5f1b049) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #38   +/-   ##
=======================================
  Coverage   85.95%   85.95%           
=======================================
  Files          40       40           
  Lines         840      840           
=======================================
  Hits          722      722           
  Misses        118      118           
Impacted Files Coverage Δ
src/base/sequence_checker.cc 56.00% <ø> (ø)
src/base/synchronization/auto_signaller.cc 95.23% <ø> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@rohanverma94
Copy link
Author

rohanverma94 commented Oct 7, 2022

@RippeR37
The macOS builds are failing because of a linker issue with - Xcode 14.0.1 as discussed here gcc12. I partially resolved it via Xcode 14.1(beta) here patch with only remaining issue of gcc9

Unless the Xcode issue a patch for linker errors and the gcc9 issue( with Xcode 14.1) we can ignore g++9 on macos-12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants