Skip to content

request to rebuild tsc-dyn.so with older Linux OSΒ #267

@emacs18

Description

@emacs18

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions