[SDK 3.4.9] Can't refresh armv7hl zypper cache

I downloaded SailfishSDK-3.4.9-linux64-offline.run, installed it and tried to compile my own creation with it. It has BuildRequires: pkgconfig(nemonotifications-qt5) so my solution to make sure it’s installed is as follows:

  • Select i486 / aarch64 / armv7hl
  • Touch the .spec file to trigger dependency check
  • i486 and aarch64 install the necessary packages as expected

However, on armv7hl I get the following error:

Error building the cache:
Can't create cache at /home/.zypp-cache/solv/jolla - no writing permissions.
Some of the repositories have not been refreshed because of an error.

The only thing that I could check is that /srv/mer/targets/*/home/.zypp-cache exists and they have the same contents and permissions…

However, I managed to do this via root ssh:

chroot /srv/mer/targets/SailfishOS-4.0.1.48-armv7hl/
zypper ref
zypper install nemo-qml-plugin-notifications-qt5-devel

The package is installed, and I can successfully compile the package - the error message above stays the same. It takes time - sometimes it hangs over acquiring some sort lock - and is really annoying. How to resolve this?

I couldn’t reproduce your problem. I did a clean install of SDK 3.4.9, followed by:

sfdk config target=SailfishOS-4.0.1.48-armv7hl
sfdk config snapshot
sfdk build

Your package was built without any issues.

I believe something has happened to your target between SDK installation and the build attempt.

I tested this with Ubuntu 20.04, and sure enough, the SDK works as expected. I am flummoxed; how can this only affect one target?

I may have to reinstall my Manjaro box for various reasons, I’ll have to come back to this later.