language-ruby icon indicating copy to clipboard operation
language-ruby copied to clipboard

Failed to load a language-ruby package grammar - RHEL 7.7

Open jpbarron opened this issue 5 years ago • 20 comments

Prerequisites

Description

Failed to load a language-ruby package grammar

Steps to Reproduce

  1. Be on RHEL 7.7 with Atom installed from Atom repo (currently atom.x86_64 0:1.41.0-0.1)
  2. Launch Atom
  3. See error about grammar not loading

Expected behavior:

No error.

Actual behavior:

[Enter steps to reproduce:]

Atom: 1.41.0 x64 Electron: 4.2.7 OS: "Red Hat Thrown From: language-ruby package 0.72.20 User: root

Stack Trace

Failed to load a language-ruby 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-ruby/build/Release/tree_sitter_ruby_binding.node) in /usr/share/atom/resources/app.asar/node_modules/language-ruby/grammars/tree-sitter-ruby.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-ruby/build/Release/tree_sitter_ruby_binding.node)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:160:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:722:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:169:18)
    at Module.load (internal/modules/cjs/loader.js:602:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
    at Function.Module._load (internal/modules/cjs/loader.js:533:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:146745)
    at /app.asar/node_modules/tree-sitter-ruby/index.js:2:20)
    at /app.asar/node_modules/tree-sitter-ruby/index.js:15:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:602:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
    at Function.Module._load (internal/modules/cjs/loader.js:533:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (internal/modules/cjs/helpers.js:20:18)
    at customRequire (/usr/share/atom/resources/app/static/<embedded>:1:688211)
    at new TreeSitterGrammar (/usr/share/atom/resources/app/static/<embedded>:11:3128927)
    at GrammarRegistry.createGrammar (/usr/share/atom/resources/app/static/<embedded>:11:360047)
    at l.readFile (/usr/share/atom/resources/app/static/<embedded>:11:359888)
    at u (/usr/share/atom/resources/app/static/<embedded>:11:580631)
    at /usr/share/atom/resources/app/static/<embedded>:11:581884
    at fs.read.error (ELECTRON_ASAR.js:573:9)
    at FSReqWrap.wrapper [as oncomplete] (fs.js:460:17)
  at /app.asar/node_modules/language-ruby/grammars/tree-sitter-ruby.json:1:1

Commands

Non-Core Packages


Reproduces how often:

100%

Versions

Atom : 1.41.0 Electron: 4.2.7 Chrome : 69.0.3497.128 Node : 10.11.0

yum updates are current for Atom repo and EPEL and system repos.

Thanks!

jpbarron avatar Dec 10 '19 17:12 jpbarron

I'm also seeing this, same specs as above but I'm using Mint 18.

freelancewebdev avatar Dec 12 '19 15:12 freelancewebdev

Have exactly the same issue (RedHat 7.7, Atom 1.41.0)

lembeh2004 avatar Dec 12 '19 16:12 lembeh2004

Same problem on CentOS 7.7 for Atom 1.41.0 x64

hulalalb avatar Dec 13 '19 06:12 hulalalb

Same, needed to disable the package.

alexisfrjp avatar Dec 13 '19 08:12 alexisfrjp

Same problem in Ubuntu 14.04 LTS too. I have disabled the package as a temporary workaround.

ravijo avatar Dec 14 '19 14:12 ravijo

Same issue in Atom 1.42.0 x64 on Ubuntu 14.04 LTS with KDE desktop. Disabling Ruby packages fixes it.

VictorSago avatar Dec 24 '19 08:12 VictorSago

Problem persists into 1.43.0 x64. On RHEL 7.7

ZUUL42 avatar Jan 14 '20 17:01 ZUUL42

Seen consistently on CentOS 7.7 on Atom 1.43.0 x64.

thewpaney avatar Feb 04 '20 18:02 thewpaney

+1 CentOS 7 latest on Atom 1.43.0 x64.

shovas avatar Feb 07 '20 17:02 shovas

Same here. CentOS 7 for Atom 1.43.0 x64

yilerat19 avatar Feb 10 '20 18:02 yilerat19

Same here Atom 1.44.0 x64 On Red Hat Enterprise Linux Workstation release 7.7 (Maipo)

Pardoxa avatar Feb 13 '20 15:02 Pardoxa

Same here. Atom 1.43.0 OS: CentOS 7.7

Edit: Just upgraded to Atom 1.44.0 and the error is persisting

snlawrence avatar Feb 14 '20 02:02 snlawrence

I was able to work around this issue by installing gcc-5.4.0, and then exporting the path to the gcc-5.4.0/lib64 to LD_PATH_LIBRARY This is the script I used: https://gist.github.com/snlawrence/f199fe9434f6ddea715f0cd798f4b530

snlawrence avatar Feb 14 '20 04:02 snlawrence

I was able to work around this issue by installing gcc-5.4.0, and then exporting the path to the gcc-5.4.0/lib64 to LD_PATH_LIBRARY This is the script I used: https://gist.github.com/snlawrence/f199fe9434f6ddea715f0cd798f4b530

This did not work for me. Atom 1.45.0 OS: CentOS 7.7

I got this error:

configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

jeprince avatar Mar 19 '20 17:03 jeprince

Same error in atom-1.45.0-0.1.x86_64 OS: Red Hat Enterprise Linux Workstation release 7.7 (Maipo)

NAGESHHIRMUKHE avatar May 01 '20 18:05 NAGESHHIRMUKHE

Same issue on Ubuntu 14.04 LTS

kabartay avatar May 09 '20 03:05 kabartay

snlawrence's solution worked for me with Atom 1.47 and CentOS 7.8 I had to first do a yum install gcc-c++ (I think this is what jeprince missed) and then compile gcc similar to his script. I installed it to /opt/gcc54/ as a test.

You can then do either:

export LD_LIBRARY_PATH=/opt/gcc54/lib64/ && atom or export LD_PRELOAD=/opt/gcc54/lib64/libstdc++.so.6 && atom

ewaldmire avatar Jun 02 '20 22:06 ewaldmire

snlawrence's solution worked for me with Atom 1.47 and CentOS 7.8 I had to first do a yum install gcc-c++ (I think this is what jeprince missed) and then compile gcc similar to his script. I installed it to /opt/gcc54/ as a test.

Good point! I've added gcc-c++ to the dependencies in my script.

snlawrence avatar Jun 03 '20 00:06 snlawrence

I got tired of waiting for the developers to fix this bug. And having to figure out the solution everytime I install atom on a RHEL/CentOS 7 system. So I finally wrote an install script that does it all for me. It's based on what others have posted, but this version will also install atom, and then go onto build gcc 5.4.0 and install it into the /opt/gcc-5.4.0/ directory. Having it in /usr/local/ means it could end up in your default search paths, and cause breakage. The script also modifies the /usr/bin/atom launcher, so it becomes the only app to make use of the freshly built libraries.

#/bin/bash -x

echo "Downloading the atom rpm file..."
curl --location --output atom.x86_64.rpm https://atom.io/download/rpm

echo "Installing the atom rpm file..."
sudo yum -y install atom.x86_64.rpm

echo "Downloading gcc source files..."
curl --location --output gcc-5.4.0.tar.bz2 https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2

echo "Extracting files..."
tar xvfj gcc-5.4.0.tar.bz2

echo "Installing dependencies..."
sudo yum -y install gmp-devel mpfr-devel libmpc-devel gcc-c++

echo "Configure and install..."
cd gcc-5.4.0 && ./configure --enable-languages=c,c++ --disable-multilib --prefix=/opt/gcc-5.4.0 && make -j$(nproc) && sudo make install

echo "Adding the library path to the atom launcher..."
sudo sed -i "11i\ \\nexport LD_LIBRARY_PATH=/opt/gcc-5.4.0/lib64/:\$LD_LIBRARY_PATH\\n" /usr/bin/atom

echo "Cleaning up the build directory..."
cd ../ && rm -rf atom.x86_64.rpm gcc-5.4.0.tar.bz2 gcc-5.4.0

echo "Install complete."

ladar avatar Oct 16 '20 06:10 ladar

I don't know if you could launch the 1.52.0 Atom version in Centos 7.8. It doesn't launch anymore after the update.

Why do you need to build gcc?! Can't we just use the devtoolset-7 package that provides gcc 7.3?

alexisfrjp avatar Oct 16 '20 06:10 alexisfrjp