alexmurray / emacs-snap

GNU Emacs in a snap
https://snapcraft.io/emacs
71 stars 13 forks source link

Version `GLIBC_2.33' not found #42

Closed sergefdrv closed 1 year ago

sergefdrv commented 2 years ago

After the last update lsp-mode stopped working normally. I'm trying to debug it with lsp-start-plain but get the following:

/snap/emacs/1617/usr/bin/../../lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so)
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so

(emacs:24739): Gtk-WARNING **: 11:47:59.979: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Yaru/24x24/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Yaru/24x24/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Fatal error 6: Aborted
Backtrace:
/snap/emacs/1617/usr/bin/emacs(+0x1a68a8)[0x556eab19b8a8]
/snap/emacs/1617/usr/bin/emacs(+0x51f72)[0x556eab046f72]
/snap/emacs/1617/usr/bin/emacs(+0x524bd)[0x556eab0474bd]
/snap/emacs/1617/usr/bin/emacs(+0x1a49fd)[0x556eab1999fd]
/snap/emacs/1617/usr/bin/emacs(+0x1a4aef)[0x556eab199aef]
/snap/emacs/1617/usr/bin/../../lib/x86_64-linux-gnu/libpthread.so.0(+0x14420)[0x7ff236235420]
/snap/emacs/1617/usr/bin/../../lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7ff2343d300b]
/snap/emacs/1617/usr/bin/../../lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7ff2343b2859]
/snap/core20/current/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x1db43)[0x7ff237970b43]
/snap/core20/current/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_assertion_message_error+0xb6)[0x7ff2379ce4b6]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x213bca)[0x7ff23828fbca]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x214278)[0x7ff238290278]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x214394)[0x7ff238290394]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2144e0)[0x7ff2382904e0]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x228191)[0x7ff2382a4191]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182417)[0x7ff2381fe417]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x18675e)[0x7ff23820275e]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x228927)[0x7ff2382a4927]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ac3)[0x7ff238365ac3]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ce6)[0x7ff238365ce6]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_height_and_baseline_for_width+0xa5)[0x7ff238366035]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd23)[0x7ff2381abd23]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182417)[0x7ff2381fe417]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x18675e)[0x7ff23820275e]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1306a7)[0x7ff2381ac6a7]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ac3)[0x7ff238365ac3]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ce6)[0x7ff238365ce6]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_height_and_baseline_for_width+0xa5)[0x7ff238366035]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182417)[0x7ff2381fe417]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x18675e)[0x7ff23820275e]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x13d607)[0x7ff2381b9607]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ac3)[0x7ff238365ac3]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ce6)[0x7ff238365ce6]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_height_and_baseline_for_width+0xa5)[0x7ff238366035]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ac3)[0x7ff238365ac3]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ce6)[0x7ff238365ce6]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_height+0x89)[0x7ff238365179]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e94fb)[0x7ff2383654fb]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9ce6)[0x7ff238365ce6]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_height_and_baseline_for_width+0xa5)[0x7ff238366035]
/snap/emacs/1617/usr/bin/../lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2ea18b)[0x7ff23836618b]
...
alexmurray commented 1 year ago

So this seems to happen since invocation-directory for the emacs snap is /snap/emacs/<revision>/usr/bin and so then when lsp-start-plain goes to launch emacs (via (expand-file-name invocation-name invocation-directory)) it launches the emacs binary within the snap directly, and so the new emacs instance does not set itself up correctly - this can be worked around by calling lsp-start-plain as:

(let ((invocation-directory "/snap/bin"))
  (lsp-start-plain))

Or perhaps lsp-start-plain could instead just launch emacs by something like:

(executable-find "emacs") instead of (expand-file-name invocation-name invocation-directory)