FS#55097 - [gdk-pixbuf2] 2.36.8-1 breaks icewm

Attached to Project: Arch Linux
Opened by Evgeniy (evgeniy) - Thursday, 10 August 2017, 12:48 GMT
Last edited by Doug Newgard (Scimmia) - Sunday, 13 August 2017, 13:46 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Jan Alexander Steffens (heftig)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No



After update to gdk-pixbuf2 2.36.8-1 icewm crash on start.
That is because of missed ABI, there is no xlib_rgb_get_visual, xlib_rgb_get_cmap
and several other functions

$ LANG=C grep xlib_rgb_get_visual /usr/lib/libgdk_pixbuf_xlib-2.0.so.0.3600.7
Binary file /usr/lib/libgdk_pixbuf_xlib-2.0.so.0.3600.7 matches

[evgeniy@15inch icewm]$ grep xlib_rgb_get_visual /usr/lib/libgdk_pixbuf_xlib-2.0.so.0.3600.8
[evgeniy@15inch icewm]$

I download and build gdk_pixbuf from sources and they did not remove these functions:

$ git log -s | head -n1 && LANG=C grep xlib_rgb_get_visual contrib/gdk-pixbuf-xlib/.libs/libgdk_pixbuf_xlib-2.0.so
commit 43655b14b176f3cf027e313aed7835d89d077e1d
Binary file contrib/gdk-pixbuf-xlib/.libs/libgdk_pixbuf_xlib-2.0.so matches

I build gdk_pixbuf from sources with autconf/automake build system.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Sunday, 13 August 2017, 13:46 GMT
Reason for closing:  Fixed
Additional comments about closing:  gdk-pixbuf2 2.36.8-2
Comment by Johnny Nielsen (Johnny.Nielsen) - Thursday, 10 August 2017, 17:06 GMT
I can confirm that 2.36.8-1 crashes icewm.

I can add, that downdrading to 2.36.7-1 is a temporary solution.

best regards, Johnny :o)
Comment by loqs (loqs) - Thursday, 10 August 2017, 18:31 GMT
Looks to an issue with the switch to the meson/ninja build system
$ nm -A src/build/contrib/gdk-pixbuf-xlib/libgdk_pixbuf_xlib-2.0.so | grep xlib_rgb_get_visual
src/build/contrib/gdk-pixbuf-xlib/libgdk_pixbuf_xlib-2.0.so:0000000000008da0 t xlib_rgb_get_visual
src/build/contrib/gdk-pixbuf-xlib/libgdk_pixbuf_xlib-2.0.so:0000000000008dc0 t xlib_rgb_get_visual_info
$ nm -D src/build/contrib/gdk-pixbuf-xlib/libgdk_pixbuf_xlib-2.0.so | grep xlib_rgb_get_visual
So the symbols are there but only with absolute addresses and will then then be removed when the .so is stripped
Comment by Thomas (thester) - Friday, 11 August 2017, 15:05 GMT
This stops xscreensaver from accessing images for various screensavers as well, though it does not outright crash.

When starting any screensavers using images: xscreensaver-getimage: undefined symbol: gdk_pixbuf_xlib_init_with_depth

Downgrade back to 2.36.7-1 restores function.
Comment by Brian BIdulock (bidulock) - Saturday, 12 August 2017, 04:20 GMT
I placed gdk-pixbuf2-xlib package on AUR that reverts to autoconf build. Definitely the meson/ninja build at fault.
Comment by Johnny Nielsen (Johnny.Nielsen) - Saturday, 12 August 2017, 07:58 GMT
Attempting to log in to icewm with 2.36.8-1:

icewm-session: using /home/johnny/.icewm for private configuration files
icewmbg: symbol lookup error: icewmbg: undefined symbol: xlib_rgb_init
icewmtray: symbol lookup error: icewmtray: undefined symbol: xlib_rgb_init
icewm: symbol lookup error: icewm: undefined symbol: xlib_rgb_init
icewmbg: symbol lookup error: icewmbg: undefined symbol: xlib_rgb_init

Best regards, Johnny :o)
Comment by Scott Kiesling (sfabius) - Saturday, 12 August 2017, 13:39 GMT
Thanks for the AUR build, it fixes the xscreensaver issue.
Comment by Jan Alexander Steffens (heftig) - Sunday, 13 August 2017, 10:06 GMT
Should be fixed in gdk-pixbuf2 2.36.8-2.
Comment by Johnny Nielsen (Johnny.Nielsen) - Sunday, 13 August 2017, 13:37 GMT
I can now log in to icewm with 2.36.8-2 :o)

I don't know about xscreensaver though.

Thank you for a fast resolution :o)

Keep up the good work :o)

Best regards, Johnny :o)