Skip to content

rive_native prebuilt iOS binaries fail to link with Xcode 26 — undefined symbol errors #622

@FerAHMw

Description

@FerAHMw

Description

rive_native 0.1.4 fails to build on iOS when using Xcode 26.x (the current stable Xcode for macOS Tahoe). The
prebuilt static libraries included in the package were compiled with Xcode 16.1 and are incompatible with Xcode 26's
linker/toolchain.

Environment

  • Flutter: 3.29.3
  • rive: 0.14.4
  • rive_native: 0.1.4
  • Xcode: 26.4 (Build 17E192) — stable release, March 24, 2026
  • macOS: Tahoe (26.x)
  • Target: iOS (arm64)

Error

Running flutter build ipa --release produces the following linker errors:

Error (Xcode): Undefined symbol: ReadWriteRing::currentRead()
Error (Xcode): Undefined symbol: ReadWriteRing::ReadWriteRing()
Error (Xcode): Undefined symbol: _createRiveRenderer
Error (Xcode): Undefined symbol: _createRiveRendererContext
Error (Xcode): Undefined symbol: _deleteFlutterRenderer
Error (Xcode): Undefined symbol: _destroyRiveRenderer
Error (Xcode): Undefined symbol: _destroyRiveRendererContext
Error (Xcode): Undefined symbol: _disposeYogaStyle
Error (Xcode): Undefined symbol: _factoryFromRiveRendererContext
Error (Xcode): Undefined symbol: _loadRiveFile
Error (Xcode): Undefined symbol: _rewindRenderPath
Error (Xcode): Undefined symbol: _riveFontDummyLinker
Error (Xcode): Undefined symbol: _riveLock
Error (Xcode): Undefined symbol: _riveUnlock
Error (Xcode): Undefined symbol: _setGPU
Error (Xcode): Undefined symbol: _stopAudioSound
Error (Xcode): Linker command failed with exit code 1

Steps to Reproduce

  1. Use macOS Tahoe with Xcode 26.4 (stable)
  2. Add rive: ^0.14.0 as a dependency (or transitively via awesome_dialog ^3.3.0)
  3. Run flutter build ipa --release

Additional Context

  • Xcode 16.4 cannot run on macOS Tahoe, so downgrading Xcode is not an option.
  • Apple will require Xcode 26 SDK for all App Store submissions starting April 28, 2026.
  • Pinning to rive 0.13.13 (which uses rive_common instead of rive_native) avoids the linker error but causes a
    SIGSEGV crash at runtime on iOS 26.4 during Dart GC mark phase.
  • The root cause appears to be that the prebuilt .a binaries shipped with rive_native were compiled with Xcode
    16.1 and are ABI-incompatible with Xcode 26's toolchain.

Expected Behavior

rive_native should ship prebuilt binaries compiled with Xcode 26, or provide a build-from-source path that works
with the current stable Xcode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions