Hi all, after using voyager for navigation in comp...
# compose-ios
s
Hi all, after using voyager for navigation in compose multiplatform app, getting this error in ios build:
Copy code
error: There are still 6 unbound symbols after generation of IR module <shared>:
Unbound public symbol IrSimpleFunctionPublicSymbolImpl:
before voyager, it was working fine.
K 1
a
Please show your error in a thread, for better visibility of the channel
s
Following is the full error:
Copy code
error: There are still 6 unbound symbols after generation of IR module <shared>:
Unbound public symbol IrSimpleFunctionPublicSymbolImpl: cafe.adriel.voyager.navigator.tab/Tab.icon.<get-icon>|-5764684600227404327[0]
Unbound public symbol IrSimpleFunctionPublicSymbolImpl: cafe.adriel.voyager.navigator.tab/Tab.options.<get-options>|7766868889533212780[0]
Unbound public symbol IrSimpleFunctionPublicSymbolImpl: cafe.adriel.voyager.navigator.tab/Tab.title.<get-title>|371973571756195065[0]
Unbound public symbol IrSimpleFunctionPublicSymbolImpl: androidx.compose.foundation.lazy/LazyListScope.item|-2398404341226065315[0]
Unbound public symbol IrSimpleFunctionPublicSymbolImpl: androidx.compose.foundation.lazy/LazyListScope.items|8564101490881923997[0]
Unbound public symbol IrSimpleFunctionPublicSymbolImpl: androidx.compose.foundation.lazy/LazyListScope.stickyHeader|431226128286809998[0]

This could happen if there are two libraries, where one library was compiled against the different version of the other library than the one currently used in the project. Please check that the project configuration is correct and has consistent versions of dependencies.
error: Compilation finished with errors
j
Not sure why this happening in detail but had same issue using public val inside object in commonMain shared. For some reason it helped make it internal. If using kotlin 1.8.20 with compose 1.4.0 its said to be fixed. Could be that Voyager using a version of compose different from yours?
s
@Joel Denke I think You are right, i think voyager is using following versions, i checked in voyager 1.0.0-rc06 repo, they are using following versions:
Copy code
plugin-multiplatform-compose = "1.4.0"

coroutines = "1.6.4"
kotlin = "1.8.20"
kodein = "7.20.1"
koin = "3.2.2"
hilt = "2.44"
leakCanary = "2.8.1"
appCompat = "1.5.1"
lifecycle = "2.5.1"
composeCompiler = "1.4.6"
composeActivity = "1.6.1"
composeAnimation = "1.3.3"
composeFoundation = "1.3.1"
composeMaterial = "1.3.1"
composeRuntime = "1.3.3"
composeUI = "1.3.3"
for some compose libraries they are not using 1.4.0, but lower than that.
j
I think can enforce compose compiler version. But not sure, I am very new to this myself. Just building new app with compose multiplatform. iOS painful bad error messages and community for iOS specific things almost zero. Found most answers in jetbrains GitHub issues ;)
If I remember correct if refer to commonMain in same module it has to be internal but not if different modules. Something how iOS stuff linking pods I think.