Skip to content

App fails do find symbols in icui18n.so #2

@jotdl

Description

@jotdl

Hey,

I completed all tasks on how to build the samples app.
I did:

  • Compilation of libiconv-libicu for android
  • Compilation of swift for android
  • Compilation of swift-pm
  • Compilation of gradle-plugin
  • Compilation of swift-android-samples.

Due the gradle-plugin does not package the libicu*.so at the moment, I added them to the jniLibs directory to get a standalone apk. For everything else I followed the guide available at https://github.com/apple/swift/blob/master/docs/Android.md.

But when I run the application on an actual device I receive the following exception:

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate 
symbol "ucol_strcoll_55" referenced by "libswiftCore.so"...
       at java.lang.Runtime.loadLibrary(Runtime.java:371)
       at java.lang.System.loadLibrary(System.java:988)
       at net.zhuoweizhang.swifthello.SwiftHello.loadNativeDependencies(SwiftHello.java:30)
       at net.zhuoweizhang.swifthello.SwiftHello.onCreate(SwiftHello.java:15)
       at android.app.Activity.performCreate(Activity.java:6185)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2650)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2771)
       at android.app.ActivityThread.access$900(ActivityThread.java:177)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1432)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5912)
       at java.lang.reflect.Method.invoke(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

This is thrown when libswiftCore is about to be loaded. I checked all libraries and the 'ucol_strcoll_55' symbol is available in libicui18n.so which is loaded before.

System enviroment:

  • Ubuntu 15.04
  • Android NDK r11c
  • Android SDK 24.4.1
  • Android Build-Tools: 23.0.3

Do you know what goes wrong?

Thanks for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions