iOS: Undefined symbols for architecture arm64
See original GitHub issueI want to use Skiko on iOS.
In my multiplatform project I specified the dependency like this:
val iosArm64Main by sourceSets.getting {
dependencies {
api("org.jetbrains.skiko:skiko-iosarm64:0.7.37")
}
}
val iosArm64Test by sourceSets.getting
val iosX64Main by sourceSets.getting {
dependencies {
api("org.jetbrains.skiko:skiko-iosx64:0.7.37")
}
}
val iosX64Test by sourceSets.getting
val macosX64Main by sourceSets.getting {
dependencies {
api("org.jetbrains.skiko:skiko-macosx64:0.7.37")
}
}
Version 0.7.37 is currently the latest available version on Maven Central.
By building my XCFramework I get a lot of errors like this:
ld: warning: object file (/var/folders/jw/hb2y762x2jg3y14lzck8_fqc0000gn/T/included2983488664329121913/libskia.a(libwebp_sse41.lossless_sse41.o)) was built for newer iOS version (15.2) than being linked (9.0)
ld: warning: object file (/var/folders/jw/hb2y762x2jg3y14lzck8_fqc0000gn/T/included2983488664329121913/libskia.a(libwebp_sse41.upsampling_sse41.o)) was built for newer iOS version (15.2) than being linked (9.0)
ld: warning: object file (/var/folders/jw/hb2y762x2jg3y14lzck8_fqc0000gn/T/included2983488664329121913/libskia.a(libwebp_sse41.yuv_sse41.o)) was built for newer iOS version (15.2) than being linked (9.0)
Finally it fails with this:
Undefined symbols for architecture arm64:
"_CGAffineTransformConcat", referenced from:
SkScalerContext_Mac::generatePath(SkGlyph const&, SkPath*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGAffineTransformInvert", referenced from:
SkScalerContext_Mac::SkScalerContext_Mac(sk_sp<SkTypeface_Mac>, SkScalerContextEffects const&, SkDescriptor const*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGAffineTransformMakeScale", referenced from:
SkScalerContext_Mac::generatePath(SkGlyph const&, SkPath*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGBitmapContextCreate", referenced from:
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGColorCreate", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGColorSpaceCreateDeviceRGB", referenced from:
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetAllowsFontSubpixelPositioning", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetAllowsFontSubpixelQuantization", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetFillColorWithColor", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetGrayFillColor", referenced from:
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetShouldAntialias", referenced from:
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetShouldSmoothFonts", referenced from:
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetShouldSubpixelPositionFonts", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetShouldSubpixelQuantizeFonts", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetTextDrawingMode", referenced from:
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGContextSetTextMatrix", referenced from:
SkScalerContext_Mac::Offscreen::getCG(SkScalerContext_Mac const&, SkGlyph const&, unsigned short, unsigned long*, bool) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGFontCopyTableForTag", referenced from:
SkTypeface_Mac::onGetTableData(unsigned int, unsigned long, unsigned long, void*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onCopyTableData(unsigned int) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CGFontGetUnitsPerEm", referenced from:
SkTypeface_Mac::onGetUPEM() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CGPathApply", referenced from:
SkScalerContext_Mac::generatePath(SkGlyph const&, SkPath*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGPathIsEmpty", referenced from:
SkScalerContext_Mac::generateMetrics(SkGlyph*, SkArenaAlloc*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CGRectApplyAffineTransform", referenced from:
SkScalerContext_Mac::generateMetrics(SkGlyph*, SkArenaAlloc*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CTFontCollectionCreateFromAvailableFonts", referenced from:
SkFontMgr_Mac::SkFontMgr_Mac(__CTFontCollection const*) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
"_CTFontCollectionCreateMatchingFontDescriptors", referenced from:
(anonymous namespace)::SkCopyAvailableFontFamilyNames(__CTFontCollection const*) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
"_CTFontCopyAttribute", referenced from:
SkCTFontCreateExactCopy(__CTFont const*, double, OpszVariation) in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onOpenStream(int*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyAvailableTables", referenced from:
SkTypeface_Mac::onGetTableTags(unsigned int*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyCharacterSet", referenced from:
SkTypeface_Mac::getGlyphToUnicodeMap(int*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyFamilyName", referenced from:
SkTypeface_Mac::onGetFamilyName(SkString*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onGetFontDescriptor(SkFontDescriptor*, bool*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyFontDescriptor", referenced from:
SkTypeface_Mac::Make(std::__1::unique_ptr<__CTFont const, SkFunctionWrapper<void (void const*), &(CFRelease)> >, OpszVariation, std::__1::unique_ptr<SkStreamAsset, std::__1::default_delete<SkStreamAsset> >)::$_0::operator()() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkCTFontGetDataFontWeightMapping() in libskia.a(libskia.SkCTFont.o)
"_CTFontCopyFullName", referenced from:
SkTypeface_Mac::onGetFontDescriptor(SkFontDescriptor*, bool*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyGraphicsFont", referenced from:
SkTypeface_Mac::onGetUPEM() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onGetTableData(unsigned int, unsigned long, unsigned long, void*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onCopyTableData(unsigned int) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkScalerContext_Mac::SkScalerContext_Mac(sk_sp<SkTypeface_Mac>, SkScalerContextEffects const&, SkDescriptor const*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CTFontCopyLocalizedName", referenced from:
SkTypeface_Mac::onCreateFamilyNameIterator() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyPostScriptName", referenced from:
SkTypeface_Mac::onGetAdvancedMetrics() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onGetPostScriptName(SkString*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onGetFontDescriptor(SkFontDescriptor*, bool*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyTable", referenced from:
SkTypeface_Mac::onGetTableData(unsigned int, unsigned long, unsigned long, void*) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onCopyTableData(unsigned int) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyVariation", referenced from:
SkTypeface_Mac::onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate*, int) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkCTVariationFromSkFontArguments(__CTFont const*, __CFArray const*, SkFontArguments const&) in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCopyVariationAxes", referenced from:
SkFontMgr_Mac::onMakeFromStreamArgs(std::__1::unique_ptr<SkStreamAsset, std::__1::default_delete<SkStreamAsset> >, SkFontArguments const&) const in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
SkTypeface_Mac::onGetAdvancedMetrics() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::getVariationAxes() const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate*, int) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onMakeClone(SkFontArguments const&) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onGetVariationDesignParameters(SkFontParameters::Variation::Axis*, int) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCreateCopyWithAttributes", referenced from:
SkFontMgr_Mac::onMakeFromStreamArgs(std::__1::unique_ptr<SkStreamAsset, std::__1::default_delete<SkStreamAsset> >, SkFontArguments const&) const in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
SkCTFontCreateExactCopy(__CTFont const*, double, OpszVariation) in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
SkTypeface_Mac::onMakeClone(SkFontArguments const&) const in libskia.a(fontmgr_mac_ct.SkTypeface_mac_ct.o)
"_CTFontCreateCopyWithSymbolicTraits", referenced from:
create_from_name(char const*, SkFontStyle const&) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
"_CTFontCreateForString", referenced from:
SkFontMgr_Mac::onMatchFamilyStyleCharacter(char const*, SkFontStyle const&, char const**, int, int) const in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
"_CTFontCreatePathForGlyph", referenced from:
SkScalerContext_Mac::generateMetrics(SkGlyph*, SkArenaAlloc*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
SkScalerContext_Mac::generatePath(SkGlyph const&, SkPath*) in libskia.a(fontmgr_mac_ct.SkScalerContext_mac_ct.o)
"_CTFontCreateWithFontDescriptor", referenced from:
SkFontMgr_Mac::onMatchFamilyStyle(char const*, SkFontStyle const&) const in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
SkFontMgr_Mac::onMatchFamilyStyleCharacter(char const*, SkFontStyle const&, char const**, int, int) const in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
(anonymous namespace)::SkFontStyleSet_Mac::createTypeface(int) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
(anonymous namespace)::SkFontStyleSet_Mac::matchStyle(SkFontStyle const&) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
(anonymous namespace)::ctfont_from_skdata(sk_sp<SkData>, int) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
create_from_name(char const*, SkFontStyle const&) in libskia.a(fontmgr_mac_ct.SkFontMgr_mac_ct.o)
SkCTFontGetSmoothBehavior() in libskia.a(libskia.SkCTFont.o)
...
Issue Analytics
- State:
- Created 10 months ago
- Reactions:1
- Comments:5
Top Results From Across the Web
Undefined symbols for architecture arm64 - ios - Stack Overflow
Undefined symbols for architecture arm64 · Simple Solution Go to Target ->Linking -> other linker Flag and add $(inherited) in other linker flag...
Read more >Undefined symbols for architecture arm64 - Apple Developer
I am working on the ios project. I didn't have any problem at the moment. However, there is a problem with iOS 11.4...
Read more >Undefined symbols for architecture arm64 #2600 - GitHub
Bug Report Throws an error of arm 64 when running app from Xcode 12.4 to iOS 14.6 Undefined symbols for architecture arm64: ...
Read more >How To Fix It: Undefined Symbols for Architecture X86_64:
Why Is the Undefined Symbols for Architecture x86_64: Error Happening? ... This error is happening due to the lack of included values inside...
Read more >undefined symbols for architecture arm64 - Google Places
I get this error when trying to build my app, I have made it in Unity, brought it into xcode and setup all...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
We have problems with iOS on version 0.7.16 Some artifacts are missing and it’s hard to change.
Better to use the latest version with newer Kotlin.
As for JVM - yes, you can use both iOS and JVM in same project. We will prepare an example soon.
@dima-avdeev-jb Yes, I did that to test the current version. Right now I’m stuck with Kotlin 1.6.20, because some dependencies are either not Kotlin 1.7 compatible yet or have missing features. I will try the current version as soon as possible.
My question is if the old version 0.7.16 in your sample will also work with
jvm
.And can you tell me what the error message above wants me to do? Do I have to set a variable anywhere?
Thank you for your help.