bcpierce00 / unison

Unison file synchronizer
GNU General Public License v3.0
4.07k stars 229 forks source link

gdk-pixbuf upstream is unstable #1033

Closed surferbk closed 5 months ago

surferbk commented 5 months ago

starting unison get the error: Fatal error

Uncaught exception Gpointer.Null Raised by primitive operation at Uigtk3.Private.createToplevelWindow.buildPixmap in file "/home/abuild/rpmbuild/BUILD/unison-2.53.4/src/uigtk3.ml" (inlined), line 3283, characters 4-29 Called from Uigtk3.Private.createToplevelWindow in file "/home/abuild/rpmbuild/BUILD/unison-2.53.4/src/uigtk3.ml", line 3287, characters 17-44 Called from Uigtk3.Private.start in file "/home/abuild/rpmbuild/BUILD/unison-2.53.4/src/uigtk3.ml", line 4474, characters 19-42

I did not understand and I could not find the path /home/abuild/... for more information.

If I try to start unison in the Terminal I get the error: unison:8590): GdkPixbuf-WARNING **: 15:54:17.569: Error loading XPM image loader: Bildlader-Modul konnte nicht geladen werden: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden

In the path /usr/..../loaders/ there is no file libpixbufloader-xpm.so

Where can I get this file?

Could you help me please?

My system: Betriebssystem: openSUSE Tumbleweed 20240503 KDE-Plasma-Version: 6.0.4 KDE-Frameworks-Version: 6.1.0 Qt-Version: 6.7.0 Kernel-Version: 6.8.8-1-default (64-bit) Grafik-Plattform: X11 Prozessoren: 4 × Intel® Core™ i3-8100T CPU @ 3.10GHz Speicher: 15,5 GiB Arbeitsspeicher Grafikprozessor: Mesa Intel® UHD Graphics 630 Hersteller: Micro-Star International Co., Ltd. Produktname: MS-7B53 Systemversion: 1.0

gdt commented 5 months ago

This looks like a request for help debugging what seems like a not-really-right packaging build of unison, rather than a bug report. Please see https://github.com/bcpierce00/unison/wiki/Reporting-Bugs-and-Feature-Requests

You didn't say where the binaries you are running came from. I am guessing they are from openSUSE and that there is a packaging problem. In that case it is best to ask them.

tleedjarv commented 5 months ago

This is a packaging/installation error. It would be great if Unison could display the actual error (XPM loader not found) but unfortunately Unison code never sees this error, so it can't report it to the user.

surferbk commented 5 months ago

My Unison was installed by Yast, OpenSuseTumbleweed. I have found the missing file in another Computer (the same: openSUSE Tumbleweed ....) but without the latest update. In this system I have found the file "libpixbufloader-xpm.so". Copy in the error-system and unison work without error. But I did not found, why this file was lost and by which way I can install it by yast (OpenSuse) Thanks anyway

gdt commented 5 months ago

If you want help with openSUSE packages you are welcome to use the mailnglist, or to ask openSUSE. The bug tracker is only for bugs in unison.

tleedjarv commented 5 months ago

I think it is important to clarify here that the missing file is not part of Unison. It is part of GTK, typically installed as libgdk_pixbuf-2_0-0

nevivurn commented 4 months ago

This is not just a packaging issue, it is the gdk-pixbuf upstream deprecating XPM.

The gdk-pixbuf upstream recently (2.42.11) disabled "other" loaders, including XPM, by default. See discussion here: https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/169

While it seems like some distros (Arch, NixOS) and upstream have restored / plan to restore these loaders, at least temporarily, it seems upstream considers these unmaintained:

gdk_pixbuf_new_from_xpm_data() won't work without -extra installed. This is probably obvious, but noting it for the record.

Yes, that function will be deprecated once the XPM loader gets removed from gdk-pixbuf. There's really no reason to use it at all.

gdt commented 4 months ago

In particular, gdk-pixbuf is making ABI changes in micro releases.