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

GCC 13.2 compiler cannot resolve overloaded spawn in boost 1.86 #1524

Open
Wedge009 opened this issue Sep 5, 2024 · 3 comments
Open

GCC 13.2 compiler cannot resolve overloaded spawn in boost 1.86 #1524

Wedge009 opened this issue Sep 5, 2024 · 3 comments

Comments

@Wedge009
Copy link

Wedge009 commented Sep 5, 2024

Not sure if this is an issue with boost - downstream issue is wesnoth/wesnoth#9284

Wesnoth compiles cleanly with boost 1.85. With boost 1.86, gcc gives the following error (for example) on calls of spawn:

error: call of overloaded ‘spawn(boost::asio::io_service&, wesnothd::server::handle_new_client(socket_ptr)::<lambda(boost::asio::yield_context)>)’ is ambiguous

Only by explicitly setting a completion token can Wesnoth compile with boost 1.86 (as per wesnoth/wesnoth#9284 (comment)).

Any advice, please?

@Osyotr
Copy link

Osyotr commented Sep 24, 2024

Minimal reproducer: https://godbolt.org/z/6c1PWMsb3
jgaa/restc-cpp#160

@Wedge009
Copy link
Author

Thank you for that!

@Wedge009
Copy link
Author

Reviewing the documentation for the function as of boost 1.80 does indeed state that the form without a completion token is supposed to be deprecated. Perhaps this isn't exactly the behaviour that's desired for boost, but it does indicate the intention is for the completion token to be explicitly given.

oscarwcl added a commit to oscarwcl/casparcg-server that referenced this issue Nov 1, 2024
- Fix resolution of boost::asio::spawn overload.
  See chriskohlhoff/asio#1524
oscarwcl added a commit to oscarwcl/casparcg-server that referenced this issue Nov 1, 2024
- Fix resolution of boost::asio::spawn overload.
  See chriskohlhoff/asio#1524
geissonator pushed a commit to openbmc/phosphor-host-ipmid that referenced this issue Nov 18, 2024
Added fix for boost::asio::spawn overload issue reported similar
to chriskohlhoff/asio#1524, during boost 1.86 migration build.

Proposed fix is to use default completion token.

Tested: verified build

Change-Id: Ie3ebcf963f998fd6064e8efab49d1fe584d4b587
Signed-off-by: Jayanth Othayoth <[email protected]>
bradbishop pushed a commit to openbmc/service-config-manager that referenced this issue Nov 18, 2024
Added fix for boost::asio::spawn overload issue reported similar
to chriskohlhoff/asio#1524, during boost 1.86 migration build.

Proposed fix is to use default completion token.

Tested: verified build

Change-Id: I469a0c6eb8faac68d6b8ba4c4d3ef86838270eff
Signed-off-by: Jayanth Othayoth <[email protected]>
geissonator pushed a commit to openbmc/sdbusplus that referenced this issue Nov 25, 2024
Added fix for boost::asio::spawn overload issue reported similar
to chriskohlhoff/asio#1524.  This error is reported by telemetry
recipe during Boost 1.86 migration build.

Error details

'''
  tmp/work/armv7ahf-vfpv4d16-openbmc-linux-gnueabi/telemetry/1.0+git/
  recipe-sysroot/usr/include/sdbusplus/asio/object_server.hpp:238:27:
  error: call of overloaded 'spawn
'''

Proposed fix is to use default completion token.

Tested: verified build

Change-Id: I4c24869c1467a04ac40027bc4c50aebd1f3acb78
Signed-off-by: Jayanth Othayoth <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants