I've got an error: "No OS version and packages satisfy package requirements:"

Hello guys, could you help me please ?

When I upload my binary file to Jolla Harbour, I get an error: ‘No OS version and packages satisfy package requirements:’. This is the exact and complete error message, and it stops after ‘satisfy package requirements:’. What can i do with it ?

Also please provide me with an understanding of where I need to set the ‘OS version’.

I found the reason. In my *.spec file, I had ‘Requires: sqlite.’ After removing this line, everything works.

So, I decided to include sqlite directly in my project.

1 Like

That doesn’t seem like a good idea.

Maybe the package is sqlite3 instead, or something else?

You shouldn’t depend on the package name, but on the library. libsqlite3.so.0 for a C++ project, or python3dist(sqlite3) for a python project. And usually you shouldn’t add even those manually, as those should be automatically detected.

See Allowed APIs | Sailfish OS Documentation for a list of what’s allowed in Harbour.

2 Likes

I just encountered the same error message as in the topic title. Except in my case it’s libnemothumbnailer-qt5.so.1

It is. I have BuildRequires: pkgconfig(nemothumbnailer-qt5), and the resulting binary has correctly auto-detected the dependency on its library:

$ rpm -qRp binaries/harbour-plants-1.3.251126-1.1.aarch64.rpm  | grep thum
libnemothumbnailer-qt5.so.1()(64bit)
$ rpm -qRp binaries_tagged/harbour-plants-1.3.251126-1.1.armv7hl.rpm  | grep thum
libnemothumbnailer-qt5.so.1

Both the QML import as well as a dep on libnemothumbnailer-qt5.so.1 are listed as allowed.

Also, the Harbour rpmvalidator lets the rpm pass.

It seems only the Harbour web site submission page does not.

Side note:

I am not actually using Nemo.Thumbnailer from QML. As there is a -devel package available, I did:

// note: not nemothumbnailprovider.h
#include <nemothumbnailcache.h>
[...]
QImage thumb(imagePath) {

    NemoThumbnailCache::ThumbnailData thumbnail = NemoThumbnailCache::instance()->requestThumbnail(
                                                  imagePath,
                                                  QSize(NemoThumbnailCache::Large, NemoThumbnailCache::Large),
                                                  true);
    return thumbnail.image();
}

With some cmake and pkgconfig incantations that produces a binary which links against that lib. Maybe that’s why no-one has seen this specific error until now.

@Keto do you have any idea what could be wrong?

1 Like

The previous (released) version of the app did not use the thumbnailer, and was “compatible with all SFOS versions”.

I think that package has not been available since the dawn of time. Maybe the app is now checked against all SFOS versions, and the dep is missing in some?

The nemo thumbnailer was indeed missing from the Harbour repo intake lists. It has been added now and the upload should accept the dependency.

3 Likes

Thank you both!

New ‘Plants’ version history incoming soon! :slight_smile:

3 Likes