Michael Paus
01/31/2024, 5:22 PMld: Undefined symbols:
_sqlite3_bind_blob, referenced from:
_co_touchlab_sqliter_sqlite3_sqlite3_bind_blob_wrapper69 in composeApp[4](libco.touchlab:sqliter-driver-cinterop-sqlite3-cache.a.o)
_sqlite3_bind_double, referenced from:
_co_touchlab_sqliter_sqlite3_sqlite3_bind_double_wrapper71 in composeApp[4](libco.touchlab:sqliter-driver-cinterop-sqlite3-cache.a.o)
_sqlite3_bind_int64, referenced from:
_co_touchlab_sqliter_sqlite3_sqlite3_bind_int64_wrapper73 in composeApp[4](libco.touchlab:sqliter-driver-cinterop-sqlite3-cache.a.o)
_sqlite3_bind_null, referenced from:
_co_touchlab_sqliter_sqlite3_sqlite3_bind_null_wrapper74 in composeApp[4](libco.touchlab:sqliter-driver-cinterop-sqlite3-cache.a.o)
...
Does anyone know what might be going wrong here? I am not using any of the touchlab tools directly. These dependencies seem to be pulled in by SQLDelight.
I have tried this on an X86 Mac as well as on an ARM Mac in case that should matter.Pablichjenkov
01/31/2024, 7:45 PMMichael Paus
01/31/2024, 9:00 PMforEach
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
iosTarget.binaries.all {// See: <https://kotlinlang.slack.com/archives/CTJB58X7X/p1706694479715499?thread_ts=1706694023.541669&cid=CTJB58X7X>
linkerOpts.add("-lsqlite3")
}
}
but it does not make any difference. What finally solved this problem for the moment is setting isStatic = false
and remove that
iosTarget.binaries.all {// See: <https://kotlinlang.slack.com/archives/CTJB58X7X/p1706694479715499?thread_ts=1706694023.541669&cid=CTJB58X7X>
linkerOpts.add("-lsqlite3")
}
again. I read that using isStatic = false
is not supposed to be a good idea although, as a non-iOS programmer I have no idea what the consequences may be.
So this problem is solved for the moment but just to stumble into the next one. But that’s unrelated to this one has to wait until tomorrow.Pablichjenkov
01/31/2024, 10:14 PMSeikoDes
02/01/2024, 2:25 AMMichael Paus
02/01/2024, 10:07 AMPablichjenkov
02/01/2024, 3:08 PMMichael Paus
02/01/2024, 6:12 PMPablichjenkov
02/01/2024, 6:55 PMKaran Sharma
11/23/2024, 5:02 AMld: warning: Could not parse or use implicit file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/SwiftUICore.framework/SwiftUICore.tbd': cannot link directly with 'SwiftUICore' because product being built is not an allowed client of it Undefined symbols for architecture arm64: "_sqlite3_bind_blob", referenced from: _co_touchlab_sqliter_sqlite3_sqlite3_bind_blob_wrapper69 in KrailApp[6](libco.touchlab:sqliter-driver-cinterop-sqlite3-cache.a.o) "_sqlite3_bind_double", referenced from: _co_touchlab_sqliter_sqlite3_sqlite3_bind_double_wrapper71 in KrailApp[6](libco.touchlab:sqliter-driver-cinterop-sqlite3-cache.a.o) "_
sqlDelight = "2.0.2"
ktor = "3.0.1"
compose-multiplatform = "1.7.0"
Tried adding the linker options linkerOpts.add("-lsqlite3")
, but that did not fix it and then
tried setting isStatic = false
, which worked.
Though am wondering, if there is an update in the compose-ios community on this as isStatic
should be set to true?Andrei Salavei
11/23/2024, 8:23 AM-lsqlite3
to the "Other Linker Flags" in XCode?Karan Sharma
11/23/2024, 8:24 AM-lsqlite3
string