emacs-tree-sitter/tree-sitter-langs

glibc minimum version requirement / Linux distribution compatibility

fredericgiquel opened this issue · 4 comments

Since version 0.12.11, some pre-compiled binaries (especially python) fail to load with following Emacs versions:

  • Emacs 27.1 on Debian 11 (current stable)
  • Emacs 28.2 package from Guix on top of Debian

In both cases, we got an error message like this one:

Language load failed: "/lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.32' not found (required by /home/user/.emacs.d/straight/build/tree-sitter-langs/bin/python.so)"

The root cause of the problem is probably ce03b9f that changes the Ubuntu version used to compile the Linux tarballs.

Is it possible to provide binaries compiled with an older version of glibc to be compatible again with more Linux distributions?

meain commented

This change was made as Ubuntu 18 was EOL on GitHub Actions https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/ . Maybe we could bump it down to Ubuntu 20.04?

According to https://repology.org/project/glibc/versions , both Ubuntu 20.04 and Debian 11 use glibc 2.31. So compiling binaries with Ubuntu 20.04 should solve the issue for my use cases.

meain commented

The latest release https://github.com/emacs-tree-sitter/tree-sitter-langs/releases/tag/0.12.14 should be done with Ubuntu 20.

The latest release works well with Debian stable. Thanks 👍