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

"Ambiguous type" error when a Koin library is exported to Intel & ARM architectures #32

Closed
xsveda opened this issue Nov 2, 2023 · 4 comments

Comments

@xsveda
Copy link

xsveda commented Nov 2, 2023

On our projects we export Koin library to shared framework so iOS app and Swift code can contribute to Koin dependencies tree.

When SKIE is introduced to such a project the XCode build fails on:
Ambiguous type name 'Timer' in module 'shared'
where Timer seems to be org.koin.core.time.Timer.

Interesting is that this happens only when iosX64() is added as target. When only iosArm64() & iosSimulatorArm64() targets are present, the XCode build runs just fine.

Tested on Kotlin 1.9.10 & SKIE 0.5.2

The issue is reproducible on koin branch of this repo: https://github.com/Cleverlance/kotlin-multiplatform-playground/tree/koin/try-skie

Introduction of Koin library is isolated in this commit: Cleverlance/kotlin-multiplatform-playground@eb8319a

Full XCode log: Build skie_2023-11-02T13-32-50.txt

@TadeasKriz
Copy link
Collaborator

Hi @xsveda, thanks for the report. We've fixed a bug probably causing this just yesterday, and it'll be in the next release coming out later today.

@TadeasKriz
Copy link
Collaborator

Thank you for providing the sample. Thanks to that, I verified this is a different bug. Thankfully, I know what's causing the ambiguity. It's because one of the modulemap files still contains transitive re-export that SKIE removes to avoid the ambiguity.

@FilipDolnik
Copy link
Member

Fixed in 0.5.4 (but use 0.5.5 as the previous two versions had a critical bug.)

@xsveda
Copy link
Author

xsveda commented Nov 7, 2023

Works fine on the above test project, thanks!

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

3 participants