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

Boost Atomic 1.78 breaks macOS/iOS integration #55

Closed
jayMcBee opened this issue Mar 4, 2022 · 4 comments
Closed

Boost Atomic 1.78 breaks macOS/iOS integration #55

jayMcBee opened this issue Mar 4, 2022 · 4 comments

Comments

@jayMcBee
Copy link

jayMcBee commented Mar 4, 2022

This recent change in Atomic

'Added a ulock backend for waiting and notifying operations on Darwin systems since Mac OS 10.12, iOS 10.0, tvOS 10.0 or watchOS 3.0'

Pretty much breaks all projects using Boost libraries that in turn depend on Atomic.
In our scenario we're using Boost Log on iOS/iPadOS and can no further submit updates to the App Store due to this change;
The *ulock functions are considered private API, thus automated checks detect the methods (doesn't matter if they're referenced or defined as a duplicate by Atomic) and any apps using Atomic are rejected ('Invalid Binary')

@mclow mclow transferred this issue from boostorg/boost Mar 4, 2022
@Lastique
Copy link
Member

Lastique commented Mar 4, 2022

Thank you for the report. I've added a new BOOST_ATOMIC_NO_DARWIN_ULOCK configuration macro that disables ulock-based implementation of waiting and notifying operations on Darwin systems. ulock will still be enabled by default, if supported by the target system.

@jayMcBee
Copy link
Author

jayMcBee commented Mar 5, 2022

Wow, that was fast!
Thanks for the quick fix, I'll apply it immediately.

@jayMcBee
Copy link
Author

jayMcBee commented Mar 6, 2022

Confirming that the new BOOST_ATOMIC_NO_DARWIN_ULOCK configuration macro works just fine to circumvent Apple's automated binary checks for private API usage.

@Lastique
Copy link
Member

Lastique commented Mar 6, 2022

Thanks for the confirmation.

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