atom/language-shellscript

Failed to load package due to incompatible glibc version on el7

Opened this issue · 3 comments

Prerequisites

Description

When starting Atom on CentOS 7/RHEL 7, this package fails to load and the following error is shown.

Stack Trace

Failed to load a language-shellscript package grammar

At /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/tree-sitter-bash/build/Release/tree_sitter_bash_binding.node) in /usr/share/atom/resources/app.asar/node_modules/language-shellscript/grammars/tree-sitter-bash.json

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/tree-sitter-bash/build/Release/tree_sitter_bash_binding.node)
    at process.func [as dlopen] (electron/js2c/asar.js:138:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:881:18)
    at Object.func [as .node] (electron/js2c/asar.js:147:18)
    at Module.load (internal/modules/cjs/loader.js:701:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:633:12)
    at Function.Module._load (internal/modules/cjs/loader.js:625:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:146814)
    at /app.asar/node_modules/tree-sitter-bash/index.js:2:20)
    at /app.asar/node_modules/tree-sitter-bash/index.js:15:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:147498)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:151046)
    at Module.load (internal/modules/cjs/loader.js:701:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:633:12)
    at Function.Module._load (internal/modules/cjs/loader.js:625:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (internal/modules/cjs/helpers.js:14:16)
    at customRequire (/usr/share/atom/resources/app/static/<embedded>:1:695413)
    at new TreeSitterGrammar (/usr/share/atom/resources/app/static/<embedded>:11:3112590)
    at GrammarRegistry.createGrammar (/usr/share/atom/resources/app/static/<embedded>:11:360436)
    at /usr/share/atom/resources/app/static/<embedded>:11:360277
    at u (/usr/share/atom/resources/app/static/<embedded>:11:580990)
    at /usr/share/atom/resources/app/static/<embedded>:11:582243
    at electron/js2c/asar.js:571:9
    at FSReqCallback.wrapper [as oncomplete] (fs.js:483:5)
  at /app.asar/node_modules/language-shellscript/grammars/tree-sitter-bash.json:1:1

Steps to Reproduce

(Should be obvious so please forgive me for skipping this part)

Expected behavior:
Actual behavior:
Reproduces how often: 100%

Versions

Atom: 1.49.0 x64
Electron: 5.0.13
Chrome : 73.0.3683.121
Node: 12.0.0
OS: CentOS Linux release 7.8.2003 (3.10.0-1062.18.1.el7.x86_64)
Thrown From: language-shellscript package 0.28.2

Additional Information

There are a couple of issue reports in comments at #142, which I believe is originally a different issue, so I'm going to open this issue instead. But those comments could be relevant to this issue.

ptous commented

As mentioned in the linked issue, I've seen the same trace shown above for the same OS.
It cropped up only after an upgrade to Atom 1.49.0. Previously I was using 1.45.0. (I did not test versions in between.)
In case it's useful, it Looks like the version of /usr/lib64/libstdc++.so.6 with an up-to-date CentOS 7.8 caps out at compat with GLIBCXX_3.4.19.

A different problem with GLIBXX_3.4.21 being missing from CentOS 7 was encountered in core Atom 1.39.0 (Issue 19690) and resolved in Atom 1.39.1.
I haven't looked into it or this problem, but I'm bringing it to the project team's attention in case the solution to 19690 is of some use here. Unfortunately for those of you looking for a workaround, I don't think you'll find the recommended workarounds for 19690 to be of any use (but post pack if it inspires any ideas!).
I am currently experiencing this issue (161) with language-shellscript running it as part of the core packages in Atom 1.51.0 on CentOS 7.8.2003.

I'm still seeing this same issue on CentOS 7.9 with Atom versions 1.49.0 and 1.51.0. Is there any resolution or workaround for this issue? Related atom issue as well: atom/atom#21860