[SailfishDevel] Packaging application with library

Slava Monich slava.monich at jolla.com
Thu Mar 29 15:21:29 UTC 2018


Hi!

> Hello. I'm developing application with liboauth dependency. This library
> exists in repos and I have installed it in SDK for building and running app in
> emulator. On phone this library exists too.
> But this library is prohibited for harbour.
> What the proper way to package my application for harbour?

You have 4 options here:

1. Compile the library statically into your app
2. Package the library with your app as described in the faq [1]
3. Convince Jolla to add liboauth to the list of allowed libraries [2]
4. Load pre-installed library with dlopen, e.g. [3]

The last solution is a bit of a hack but it's probably acceptable 
because liboauth doesn't seem to have had any known ABI breakages in the 
past [4]. Which of course doesn't guarantee anything in the future. Note 
that your rpm would have to depend on liboauth package to make sure that 
the library gets installed together with the app. Not sure if that would 
pass the store QA though.

Cheers,
-Slava

[1] https://harbour.jolla.com/faq#Shared_Libraries
[2] 
https://github.com/sailfishos/sdk-harbour-rpmvalidator/blob/harbour-qa/allowed_libraries.conf
[3] https://github.com/monich/harbour-books/blob/master/app/stubs/libmagic.c
[4] http://upstream.rosalinux.ru/versions/liboauth.html


More information about the Devel mailing list