- Package:
- libgtk-4-common
- Source:
- libgtk-4-common
- Submitter:
- Diane Trout
- Date:
- 2024-08-11 18:57:02 UTC
- Severity:
- normal
Dear Maintainer, When I tried launching it after a recent update dino won't start due to the following error log. I'm guessing something changed in gtk4. I also tried 0.4.4+git20240729.b0ff90a-1 from experimental and got the same error. Thanks, Diane 1:23:42.209991928] [21584] WARN IPAManager ipa_manager.cpp:154 No IPA found in '/usr/lib/x86_64-linux-gnu/libcamera' [1:23:42.210041419] [21584] INFO Camera camera_manager.cpp:284 libcamera v0.2.0 (dino-im:21584): GStreamer-CRITICAL **: 20:28:30.091: gst_structure_has_name: assertion 'structure != NULL' failed (dino-im:21584): GStreamer-CRITICAL **: 20:28:30.091: gst_structure_get_string: assertion 'structure != NULL' failed (dino-im:21584): GStreamer-CRITICAL **: 20:28:30.091: gst_structure_has_name: assertion 'structure != NULL' failed (dino-im:21584): GStreamer-CRITICAL **: 20:28:30.091: gst_structure_get_string: assertion 'structure != NULL' failed (dino-im:21584): GLib-GIO-ERROR **: 20:28:30.103: Settings schema 'org.gtk.gtk4.Settings.EmojiChooser' does not contain a key named 'recent-emoji'
I'm pretty sure what happened is when I did an apt upgrade on testing, the libgtk-4 binary packages are held back for some reason, but the - common package was upgraded to 4.14.4 which changed the schema which then broke dino-im. ii libgtk-4-1:amd64 4.12.5+ds-6+b1 amd64 ii libgtk-4-bin 4.12.5+ds-6+b1 amd64 ii libgtk-4-common 4.14.4+ds-8 all ii libgtk-4-media-gstreamer 4.12.5+ds-6+b1 amd64 I downgraded back to libgtk-4-common=4.12.5+ds-6 and dino started again. I suspect libgtk-4-1 should have a stricter dependency. I'm going to retitle this and assign it to gtk4 Diane
It looks like apt wasn't wanting to install various t64 packages with apt upgrade. After forcing upgrades of some larger packages like evolution or llvm with apt install <packages> and seeing the pattern of install removing a library and replacing it with a t64 version. Upgrading: evolution gir1.2-camel-1.2 evolution-common gir1.2-ebookcontacts-1.2 evolution-data-server gir1.2-edataserver-1.2 evolution-ews libcamel-1.2-64t64 evolution-plugin-bogofilter libedataserver-1.2-27t64 evolution-plugin-pstimport libedataserverui-1.2-4t64 evolution-plugins libevolution Installing dependencies: libmspack0t64 REMOVING: libmspack0 I decided to force trying to install libgtk-4-1 and this is what it wasn't willing to install on an apt upgrade, the relevant section of the plan is here: Upgrading: gir1.2-gtk-4.0 libgtk-4-1 libgtk-4-bin libgtk-4-common libgtk-4-media-gstreamer Installing dependencies: libcpdb-frontend2t64 libcpdb2t64 Summary: Upgrading: 5, Installing: 2, Removing: 0, Not Upgrading: 208 Download size: 9,084 kB Space needed: 16.4 MB / 793 GB available Hope that helps. Diane
... Thank you!
Depends: libgtk-4-common (>= 4.14), libgtk-4-common (<< 4.15) This interferes with how we do C library packaging in Debian. If there were a soname bump and we had libgtk-4-2 4.15 in the same source package that would have libgtk-4-common with Depends: libgtk-4-common (>= 4.15), libgtk-4-common (<< 4.16) it would then not be possible to have both libgtk-4-1 and libgtk-4-2 installed simultaneously. That makes the C library transition more difficult than we want. Therefore, I think we may need to close this bug as not fixable in Debian. The mitigating part is that gtk4 is very unlikely to require a soname transition; that will be gtk5 instead. The t64 transition was exceptionally disruptive. You need to do apt full/dist upgrades to get to the trixie side of the transition. You need to ensure that all packages are upgraded without anything left held back. Thank you, Jeremy Bícha
depending on the common package. Over in python packaging I regularly end up with dependencies that have Breaks: some older version of a package that depends on the package declaring the breaks. As an example python3-pandas heavily uses the Breaks rules. Using your example of the soname bump, I think this might work on the 4.14 -common package. Breaks: libgtk-4-1 (<< 4.14), libgtk-4-2 (<< 4.14)? It may be too annoying to keep updated and so might still not be worth doing. This part is very true, and I need to go do it, I was just wishing for a stronger hint that I really needed to do a full-upgrade now. (And also it took me a while to figure this out.) Diane
Nobody on the Debian GNOME team is attempting to use an old GTK4 with a newer libgtk-4-common so we don't have any idea how frequently newer -common breaks GTK4. Thank you, Jeremy Bícha