-
Notifications
You must be signed in to change notification settings - Fork 61
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
Yoga symbols collision #345
Comments
I'm wondering if a static framework version as suggested in #336 would fix the issue ? |
We have a renames header that we use to help avoid collisions like this. We might need to add some symbols to it @dskuza. Or, are we somehow disabling this on iOS? https://github.com/rive-app/rive-runtime/blob/main/dependencies/premake5_yoga_v2.lua |
Looks like we are in fact missing YGNodeStyleSetMinWidth, and potentially more. |
I see the symbol on this line: https://github.com/rive-app/rive-runtime/blob/6f82f888172a8bb0ce16c1ff5b818156b326fad6/dependencies/rive_yoga_renames.h#L229 I'm not sure how the runtime is compiled, but I noticed the premake5_yoga_v2 script is called with the option (It is then called again "just to examine the exported symbols...") |
Any update on this or a fix? |
Is this commit related ? rive-app/rive-runtime@d3e4bcf 👀 |
This pull request addresses the following GitHub issues and more: - [rive-ios #345](rive-app/rive-ios#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693) Co-authored-by: David Skuza <[email protected]>
This pull request addresses the following GitHub issues and more: - [rive-ios #345](#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
This pull request addresses the following GitHub issues and more: - [rive-ios #345](rive-app/rive-ios#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
This pull request addresses the following GitHub issues and more: - [rive-ios #345](rive-app/rive-ios#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
This pull request addresses the following GitHub issues and more: - [rive-ios #345](rive-app/rive-ios#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
This pull request addresses the following GitHub issues and more: - [rive-ios #345](rive-app/rive-ios#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
This pull request addresses the following GitHub issues and more: - [rive-ios #345](rive-app/rive-ios#345) - [rive-react-native #268](rive-app/rive-react-native#268) Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments. This has been tested locally, and works, but the real test will be the public. Diffs= 437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
I can confirm it's been fixed in |
Description
I'm experiencing an
EXC_BAD_ACCESS
error withYGNodeStyleSetMinWidth
when usinguse_frameworks! :linkage => :static
in a project that uses Yoga for layout (specifically with React Native)Provide a Repro
You can find the reproduction setup here: https://github.com/alextoudic/rive-yoga-collision-repro/tree/main/ios
Expected behavior
Both the Rive runtime and React Native should function correctly, using their respective Yoga symbols as intended
Screenshots
Stack trace:
Device & Versions (please complete the following information)
Additional context
The reproduction project is built using Expo with a patched version of
rive-react-native
to ensure the latestRiveRuntime
version (the issue persists with or without this patch). This problem only arises when usinguse_frameworks! :linkage => :static
, which is necessary in my case to integrate@react-native-firebase
I previously commented on this issue but believe this problem may be more related to the loading of Rive's Yoga symbols in a project with overlapping Yoga dependencies when libraries are not dynamically linked. Any insights from iOS developers would be greatly appreciated
The text was updated successfully, but these errors were encountered: