Hi,
We had a 0.56.0 installed on our test server and wanted to test the upgrade to 0.60.0-rc0 But we encounter real troubles while starting it
Install node 8.9.1
Install 0.60.0-rc0
Start Rocket.Chat
Load fails
During loading we get this :
Dec 18 15:43:38 im02 rocketchat[29286]: module.js:653
Dec 18 15:43:38 im02 rocketchat[29286]: return process.dlopen(module, path._makeLong(filename));
Dec 18 15:43:38 im02 rocketchat[29286]: ^
Dec 18 15:43:38 im02 rocketchat[29286]: Error: /lib64/libstdc++.so.6: version
GLIBCXX_3.4.20' not found (required by /opt/rocketchat/rocket.chat.0.60.0-rc.0/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.
Dec 18 15:43:38 im02 rocketchat[29286]: at Object.Module._extensions..node (module.js:653:18)
Dec 18 15:43:38 im02 rocketchat[29286]: at Module.load (module.js:545:32)
Dec 18 15:43:38 im02 rocketchat[29286]: at tryModuleLoad (module.js:508:12)
Dec 18 15:43:38 im02 rocketchat[29286]: at Function.Module._load (module.js:500:3)
Dec 18 15:43:38 im02 rocketchat[29286]: at Module.require (module.js:568:17)
Dec 18 15:43:38 im02 rocketchat[29286]: at require (internal/module.js:11:18)
Dec 18 15:43:38 im02 rocketchat[29286]: at Object.
Dec 18 15:43:38 im02 rocketchat[29286]: at Module._compile (module.js:624:30)
Dec 18 15:43:38 im02 rocketchat[29286]: at Object.Module._extensions..js (module.js:635:10)
Dec 18 15:43:38 im02 rocketchat[29286]: at Module.load (module.js:545:32)
`
If we look to our libstd, we can see that indeed we don't have this version :
[LBG root@im02 rocketchat]# strings /lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
As far as I understand, fiber 2.0.0 is installed and this version requires GLIBCXX_3.4.20 of libstdc++, which is not available on CentOS7
So the question is : does RC still available on CentOS7, if so, could you give us any hints about the dependencies (does it come from node ?).
Thanks for your help.
Hi @fcoppolani
Can you take a look here (https://github.com/meteor/meteor/issues/9269) and see if it solves your problem?
Hi @rodrigok ,
Thanks, but the link concern a problem with 'make' that was not installed (I checked, everything is ok on this side), in our cases it is a lib that is missing . Anyway I asked the same question in the thread you mentioned. Do you have a Centos7 to test the install on your side ?
@fcoppolani I had the same issue. It seems that Centos 7 doesn't have a recent enough version of GLIBC and the node-fibers package has to be rebuilt locally on the Centos 7 machine. I believe the appropriate steps are below but I'm just looking through my cli history.
yum install g++ build-essential
npm install -g node-gyp
cd /opt/Rocket.Chat/programs/server/node_modules/fibers/
node-gyp rebuild
cp build/Release/fibers.node bin/linux-x64-57/fibers.node
systemctl start rocketchat.service
@stalley Thanks, you did point me to the right direction. I tried to install on a fresh CentOS7 and I had no trouble. I noticed that fibers was automatically rebuilt during npm install. on this fresh CentOS7
In fact I guess that on our current platform, I first tried a npm install with the wrong node version and event after installing the right node version, npm install was not using it properly. I will try to make everything clear and post what happen and how to avoid this. The steps given above solve the problem.
Many thanks @fcoppolani your most recent comment helped me out tremendously. I had done exactly what you did. I was upgrading from 0.59.6 to 0.60.4 on CentOS 7. And because I didn't catch the blog entry about node.js 8.x being required, my upgrade failed. Then, seeing (https://github.com/RocketChat/Rocket.Chat/issues/9275), I installed version 8.9.3.
Of course, then when I tried to start up Rocket Chat, I got your error detailed here in this issue. (Error: /lib64/libstdc++.so.6: versionGLIBCXX_3.4.20' not found . . .)
I first tried a npm install with the wrong node version and even after installing the right node version, npm install was not using it properly."
It occurred to me that I needed to run npm install again, since I had upgraded to node.js 8.9.3. With this in mind, I moved my Rockat.Chat directory out of the way, untarred the Rocket Chat 0.60.4 bundle again, changed into the Rocket.Chat/programs/server/ directory and issued a new "npm install". After doing this, my Rocket Chat services started up successfully.
Thanks!
Try it https://github.com/RocketChat/Rocket.Chat/issues/9167#issuecomment-352804066 but got error
`node main.js
module.js:681
return process.dlopen(module, path._makeLong(filename));
^Error: The module '/opt/Rocket.Chat/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 48. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, usingnpm rebuild
ornpm install
).
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.(/opt/Rocket.Chat/programs/server/node_modules/fibers/fibers.js:24:38)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)`
How to fix it?
@fcoppolani I had the same issue. It seems that Centos 7 doesn't have a recent enough version of GLIBC and the node-fibers package has to be rebuilt locally on the Centos 7 machine. I believe the appropriate steps are below but I'm just looking through my cli history.
- yum install g++ build-essential
- npm install -g node-gyp
- cd /opt/Rocket.Chat/programs/server/node_modules/fibers/
- node-gyp rebuild
- cp build/Release/fibers.node bin/linux-x64-57/fibers.node
- systemctl start rocketchat.service
Hi @stalley Many thanks for your contributions, I have executed the commands step by step and now I receive the error that I show below:
`node main.js
module.js:664
return process.dlopen(module, path._makeLong(filename));
^
Error: The module '/opt/Rocket.Chat/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 48. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
at Object.Module._extensions..node (module.js:664:18)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Object. (/opt/Rocket.Chat/programs/server/node_modules/fibers/fibers.js:24:38)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)`
Centos Linux Release 7.6.1810 (core)
MongoDB v3.6.9
nmp 5.5.1
node v8.9.3
I'm sorry but I'm new to this, in advance I appreciate your support and that of each of the community's partners... regards!
Most helpful comment
@fcoppolani I had the same issue. It seems that Centos 7 doesn't have a recent enough version of GLIBC and the node-fibers package has to be rebuilt locally on the Centos 7 machine. I believe the appropriate steps are below but I'm just looking through my cli history.
yum install g++ build-essential
npm install -g node-gyp
cd /opt/Rocket.Chat/programs/server/node_modules/fibers/
node-gyp rebuild
cp build/Release/fibers.node bin/linux-x64-57/fibers.node
systemctl start rocketchat.service