language-ruby
language-ruby copied to clipboard
Failed to load a language-ruby package grammar - RHEL 7.7
Prerequisites
- [X ] Put an X between the brackets on this line if you have done all of the following:
- Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
- Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
- Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
- Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
- Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages
Description
Failed to load a language-ruby package grammar
Steps to Reproduce
- Be on RHEL 7.7 with Atom installed from Atom repo (currently atom.x86_64 0:1.41.0-0.1)
- Launch Atom
- 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!
I'm also seeing this, same specs as above but I'm using Mint 18.
Have exactly the same issue (RedHat 7.7, Atom 1.41.0)
Same problem on CentOS 7.7 for Atom 1.41.0 x64
Same, needed to disable the package.
Same problem in Ubuntu 14.04 LTS too. I have disabled the package as a temporary workaround.
Same issue in Atom 1.42.0 x64 on Ubuntu 14.04 LTS with KDE desktop. Disabling Ruby packages fixes it.
Problem persists into 1.43.0 x64. On RHEL 7.7
Seen consistently on CentOS 7.7 on Atom 1.43.0 x64.
+1 CentOS 7 latest on Atom 1.43.0 x64.
Same here. CentOS 7 for Atom 1.43.0 x64
Same here Atom 1.44.0 x64 On Red Hat Enterprise Linux Workstation release 7.7 (Maipo)
Same here. Atom 1.43.0 OS: CentOS 7.7
Edit: Just upgraded to Atom 1.44.0 and the error is persisting
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
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.
Same error in atom-1.45.0-0.1.x86_64 OS: Red Hat Enterprise Linux Workstation release 7.7 (Maipo)
Same issue on Ubuntu 14.04 LTS
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
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.
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."
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
?