[ARM Stable Update] 2023-09-10 - Kernel, Phosh, LibreOffice, Firefox, Systemd

I also still had qt5-es2-base, qt5-es2-declarative, qt5-es2-multimedia, and pyside2-es2 installed, and had to manually replace them with sudo pacman -Sy qt5-base qt5-declarative qt5-multimedia pyside2. Is there no way this can be automated?

I also had the removed package kpeoplesink still installed, with a broken dependency:

kf.coreaddons: "Could not load plugin from /usr/lib/qt/plugins/kpeople/datasource/KPeopleSink.so: Cannot load library /usr/lib/qt/plugins/kpeople/datasource/KPeopleSink.so: (libKF5Mime.so.5: cannot open shared object file: No such file or directory)"
kf.people.core: Failed to create data source  "Could not load plugin from /usr/lib/qt/plugins/kpeople/datasource/KPeopleSink.so: Cannot load library /usr/lib/qt/plugins/kpeople/datasource/KPeopleSink.so: (libKF5Mime.so.5: cannot open shared object file: No such file or directory)" "/usr/lib/qt/plugins/kpeople/datasource/KPeopleSink.so"

Fix: sudo pacman -R kpeoplesink.

And telephony is completely broken on my original PinePhone because the kde-telephony-daemon fails to start! At first, the only issue I noticed is that the Plasma Dialer shows the call history only with numbers, it no longer uses the contact names, but it turns out the Plasma Dialer is entirely broken because its daemon does not work.

This appears to be the issue:

QString DeclarativeContactUtils::displayString(const QString&) QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name org.kde.telephony.ContactUtils was not provided by any .service files")

In journalctl -b, I see:

Sep 19 12:16:12 plasma-mobile plasmaphonedialer[4468]: DeclarativeContactUtils::DeclarativeContactUtils(QObject*) Could not initiate ContactUtils interface

but unfortunately not why.
Ah, here is the issue:

Sep 19 12:15:49 plasma-mobile kde-telephony-daemon[4216]: /usr/lib/kde-telephony-daemon: symbol lookup error: /usr/lib/kde-telephony-daemon: undefined symbol: _ZN4i18n12phonenumbers11PhoneNumberC1EPN6google8protobuf5ArenaEb

kde-telephony-daemon is part of the plasma-dialer package, so it looks like plasma-dialer needs a rebuild. (That was my first guess, then I started chasing down a red herring, but there we are.)

Other than that, everything appears to work fine, but the telephony breakage is a showstopper, and really unacceptable in a stable repository. I also do not understand how this was not noticed in unstable, in testing, nor in the 9 days this update has now been out in stable! Even downgrading libphonenumber and the packages that were already rebuilt against it is not easily possible because of the bumped ICU. So as long as we do not have a plasma-dialer rebuild, not even in testing or unstable, I am stuck!

Update: I was able to work around it for me with a really awful hack I applied to the binary from my computer:

$ cat telephony-hack.c
void _ZN4i18n12phonenumbers11PhoneNumberC1EPN6google8protobuf5ArenaE(void *thisptr, void *protobufArena);
void _ZN4i18n12phonenumbers11PhoneNumberC1EPN6google8protobuf5ArenaEb(void *thisptr, void *protobufArena, _Bool ignored) {
  _ZN4i18n12phonenumbers11PhoneNumberC1EPN6google8protobuf5ArenaE(thisptr, protobufArena);
}
$ aarch64-linux-gnu-gcc -Os -s -shared telephony-hack.c -o telephony-hack.so
$ patchelf --add-needed telephony-hack.so kde-telephony-daemon

but I do not expect the average user to be able to do that. :wink: