request to rebuild tsc-dyn.so with older Linux OS
emacs18 opened this issue · comments
This is a request to provide tsc-dyn.so
that is built on older OS such as CentOS 7. The reason for this request follows.
elisp-tree-sitter
fails to startup for me with this error:
Debugger entered--Lisp error: (module-open-failed ".../tsc/tsc-dyn.so" "/lib64/libc.so.6: version `GLIBC_2.18' not found (...")
require(tsc-dyn nil :noerror)
tsc-dyn--try-load()
tsc-dyn-get-ensure("0.18.0")
...
The problem is that I use CentOS 7.3 which has libc.so
version 2.17. Unfortunately tsc-dyn.so
requires a newer libc.so
, because it was apparently built on OS that is newer than CentOS 7. Specifically the problem is that tsc-dyn.so
depends on __cxa_thread_atexit_im
symbol with symbol version 2.18 as shown here.
$ readelf -a tsc-dyn.so | grep GLIBC_2.18
0000003f6948 001d00000006 R_X86_64_GLOB_DAT 0000000000000000 __cxa_thread_atexit_im@GLIBC_2.18 + 0
29: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_thread_atexit_impl@GLIBC_2.18 (6)
01c: 0 (*local*) 6 (GLIBC_2.18) 3 (GCC_3.0) 7 (GLIBC_2.3)
0x00a0: Name: GLIBC_2.18 Flags: none Version: 6
$
This problematic file was apparently downloaded from https://github.com/emacs-tree-sitter/elisp-tree-sitter/releases/download/0.18.0/tsc-dyn.so.
If this file could be rebuilt on CenOS 7 or similarly older OS, then it would allow far more users to be able to use this package.