Wrong .so name in Android



  • I built the Libraw library for Android and tested it with a simple Java and Jni application.
    Now I'm trying to use the same Libraw library in my Qt application but I get the following error during application start:

    @
    D/dalvikvm( 1037): Trying to load lib /data/app-lib/org.qtproject.example.LibrawTest-1/libraw.so 0x41f95278
    D/dalvikvm( 1037): Added shared lib /data/app-lib/org.qtproject.example.LibrawTest-1/libraw.so 0x41f95278
    D/dalvikvm( 1037): No JNI_OnLoad found in /data/app-lib/org.qtproject.example.LibrawTest-1/libraw.so 0x41f95278, skipping init
    D/dalvikvm( 1037): Trying to load lib /data/app-lib/org.qtproject.example.LibrawTest-1/libLibrawTest.so 0x41f95278
    E/dalvikvm( 1037): dlopen("/data/app-lib/org.qtproject.example.LibrawTest-1/libLibrawTest.so") failed: dlopen failed: could not load library "libraw.so.10" needed by "libLibrawTest.so"; caused by library "libraw.so.10" not found
    D/AndroidRuntime( 1037): Shutting down VM
    W/dalvikvm( 1037): threadid=1: thread exiting with uncaught exception (group=0x4183c700)
    E/AndroidRuntime( 1037): FATAL EXCEPTION: main
    E/AndroidRuntime( 1037): java.lang.UnsatisfiedLinkError: dlopen failed: could not load library "libraw.so.10" needed by "libLibrawTest.so"; caused by library "libraw.so.10" not found
    E/AndroidRuntime( 1037): at java.lang.Runtime.loadLibrary(Runtime.java:361)
    E/AndroidRuntime( 1037): at java.lang.System.loadLibrary(System.java:525)
    E/AndroidRuntime( 1037): at org.qtproject.qt5.android.bindings.QtActivity.loadApplication(QtActivity.java:209)
    E/AndroidRuntime( 1037): at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:495)
    E/AndroidRuntime( 1037): at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:700)
    E/AndroidRuntime( 1037): at android.app.Activity.performCreate(Activity.java:5133)
    E/AndroidRuntime( 1037): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    E/AndroidRuntime( 1037): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
    E/AndroidRuntime( 1037): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
    E/AndroidRuntime( 1037): at android.app.ActivityThread.access$600(ActivityThread.java:141)
    E/AndroidRuntime( 1037): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    E/AndroidRuntime( 1037): at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime( 1037): at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime( 1037): at android.app.ActivityThread.main(ActivityThread.java:5103)
    E/AndroidRuntime( 1037): at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime( 1037): at java.lang.reflect.Method.invoke(Method.java:525)
    E/AndroidRuntime( 1037): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    E/AndroidRuntime( 1037): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    E/AndroidRuntime( 1037): at dalvik.system.NativeStart.main(Native Method)
    @

    So first the shared library libraw.so is loaded but libLibrawTest.so tryes to use libraw.so.10.

    I'm trying this with Qt-5.2.0-beta1 on a Linux machine.

    Is there any solution for this?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.