Hi, the above problem raised when "Starting shared process[x/5]", after I update my code-server cli from 1.31.1-100 to 1.32.0-245. It works properly when using the former version. I am wondering whether the latest cli depends on different C++ library from the former one?
PS: The message is:
INFO Starting shared process [1/5]...
ERROR SHARED stderr {"data":"Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /path/to/my/home/.local/share/code-server/dependencies/spdlog.node)\n...
I was getting a similar, though not exactly the same, error before. What OS are you on? I got the error on Ubuntu 14.04 but not when I used 16.04 instead. The specific error I was getting is described in this [SO question].
This error is because your os's version of libstdc++ doesnt contain the latest symbols. You'll need to upgrade the that package (or perhaps the OS) to fix it. You might be able to get away with building it yourself, but I have been having trouble getting that to work also.
I'm on Centos 7, just installed/upgraded to latest libstdc++ offered, same issue.
=======================================================================================================
Package Arch Version Repository Size
=======================================================================================================
Updating:
libstdc++ x86_64 4.8.5-36.el7 base 304 k
Updating for dependencies:
cpp x86_64 4.8.5-36.el7 base 5.9 M
gcc x86_64 4.8.5-36.el7 base 16 M
gcc-c++ x86_64 4.8.5-36.el7 base 7.2 M
gcc-gfortran x86_64 4.8.5-36.el7 base 6.7 M
gcc-gnat x86_64 4.8.5-36.el7 base 13 M
gcc-go x86_64 4.8.5-36.el7 base 5.9 M
gcc-objc x86_64 4.8.5-36.el7 base 5.7 M
gcc-objc++ x86_64 4.8.5-36.el7 base 6.2 M
gcc-plugin-devel x86_64 4.8.5-36.el7 base 827 k
libgcc x86_64 4.8.5-36.el7 base 102 k
libgfortran x86_64 4.8.5-36.el7 base 300 k
libgnat x86_64 4.8.5-36.el7 base 966 k
libgnat-devel x86_64 4.8.5-36.el7 base 2.7 M
libgo x86_64 4.8.5-36.el7 base 2.2 M
libgo-devel x86_64 4.8.5-36.el7 base 229 k
libgomp x86_64 4.8.5-36.el7 base 157 k
libobjc x86_64 4.8.5-36.el7 base 79 k
libquadmath x86_64 4.8.5-36.el7 base 189 k
libquadmath-devel x86_64 4.8.5-36.el7 base 52 k
libstdc++-devel x86_64 4.8.5-36.el7 base 1.5 M
and before this:
=======================================================================================================
Package Arch Version Repository Size
=======================================================================================================
Updating:
glibc x86_64 2.17-260.el7_6.3 updates 3.7 M
Updating for dependencies:
glibc-common x86_64 2.17-260.el7_6.3 updates 12 M
glibc-devel x86_64 2.17-260.el7_6.3 updates 1.1 M
glibc-headers x86_64 2.17-260.el7_6.3 updates 683 k
I encountered this same error when trying to build code-server in a CentOS docker image here.
I don't sudo privilege on my server (actually a cluster) and cannot update the libstdc++. I am wondering if it is possible to release a pre-build that compiled using library with lower version. By the way, the system on my server is CentOS Linux release 7.3.
Neither my Debian Jessie machine, nor my CentOS 7.5 machine are able to run the server. I've updated with yum/apt and installed a number of the devtools (yum) and various glibc/libstdc/gcc packages to no avail.
The same problem Ubuntu "18.04.2 LTS (Bionic Beaver)"
(it's google cloud Ubuntu mini )
Same problem on CentOS Linux release 7.6.1810 (Core)
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
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
For me, I have that problem even when building on centos 7. I would have assumed that building there would build with the present glibc/glibcxx in mind. But apparently it's pulling binary dependencies in that would ruin this.
Same problem on CentOS Linux release 7.6.1810 (Core)
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 GLIBC_2.3 GLIBC_2.2.5 GLIBC_2.14 GLIBC_2.4 GLIBC_2.3.2 GLIBCXX_DEBUG_MESSAGE_LENGTH
Make sure you're updated, i was able to run it on CentOS 7 after running this:
yum install -y git bzip2 gcc gcc-c++ make libX11-devel.x86_64 libxkbfile-devel.x86_64 libsecret-devel.x86_64
Same problem on CentOS Linux release 7.6.1810 (Core)
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 GLIBC_2.3 GLIBC_2.2.5 GLIBC_2.14 GLIBC_2.4 GLIBC_2.3.2 GLIBCXX_DEBUG_MESSAGE_LENGTHMake sure you're updated, i was able to run it on CentOS 7 after running this:
yum install -y git bzip2 gcc gcc-c++ make libX11-devel.x86_64 libxkbfile-devel.x86_64 libsecret-devel.x86_64
Package git-1.8.3.1-20.el7.x86_64 already installed and latest version
Package bzip2-1.0.6-13.el7.x86_64 already installed and latest version
Package gcc-4.8.5-36.el7.x86_64 already installed and latest version
Package gcc-c++-4.8.5-36.el7.x86_64 already installed and latest version
Package 1:make-3.82-23.el7.x86_64 already installed and latest version
Package libX11-devel-1.6.5-2.el7.x86_64 already installed and latest version
Package libxkbfile-devel-1.0.9-3.el7.x86_64 already installed and latest version
Package libsecret-devel-0.18.6-1.el7.x86_64 already installed and latest version
Nothing to do
What to do now? :)
Cry? /s
not sure.. I'll poke around again.. I know I had this exact issue but I ended up fixing it at some point..
$ npm --version
6.9.0
$ node --version
v8.15.0
$ yarn --version
1.13.0
maybe npm update? npm install -g npm
OH i remember now... I have
$ echo $LD_LIBRARY_PATH
/usr/lib/oracle/12.2/client64/lib
Maybe try doing unset $LD_LIBRARY_PATH ? Or if you can find the right lib you can point it to it.
/usr/lib/oracle/12.2/client64/lib --- I have this becasue I use it for my SQLplus installation
I found out that this problem is (for me) caused by the "spdlog.node" binary. I ended up rebuilding that binary from the repo at https://github.com/Microsoft/node-spdlog... And while I have no idea about how to look into the build process of this project, I presume it doesnt build that binary itself but rather downloads it as a dependency (I mean, my system doesnt HAVE a 3.4.21 GLIBCC header to build with, so this has to be the case).
Building node-spdlog does NOT take long at all (a few seconds) so I would suggest that this project should build it itself (it also builds a lot of stuff with gcc compiler in general, so adding this would make the builds more OS independent)
EDIT: At the same time, I somehow ruined everything and through cleanups and all, it wouldn't build the cli-linux-x64 binary anymore (which is code-server), but that's unrelated to this issue
Might be fixed with the latest release.
We lowered the GLIBC version required. Might be able to work on older versions now.
@kylecarbs this is the output of the latest version:
[username@hostname code-server1.604-vsc1.32.0-linux-x64]$ ./code-server -v
./code-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./code-server)
./code-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./code-server)
Still got the same error message:
./code-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./code-server)
./code-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./code-server)
I also tried to run with LD_LIBRARY_PATH but I cannot start share process successfully.
> LD_LIBRARY_PATH=/path/to/newer/lib code-server
...
INFO Starting shared process [1/5]...
INFO Starting shared process [2/5]... {"error":"Exited with 1"}
INFO Starting shared process [3/5]... {"error":"Exited with 1"}
INFO Starting shared process [4/5]... {"error":"Exited with 1"}
INFO Starting shared process [5/5]... {"error":"Exited with 1"}
In version 1.31.1-100, it's effective to use LD_LIBRARRY_PATH. But, this approach is no longer valid in later versions. That confuses me.
Hi, i'm facing the same problem on Centos 7 :
./code-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./code-server)
./code-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./code-server)
^ and ditto here (except with the 1.33 pre-release)
+1 is there a solution to this? already tried the above but no luck with latest 1.33.0 1696
@kylecarbs any word on this? Given that last I heard CentOS is ~20% of servers, not having it work seems like a bit of a deal breaker to me…
It may be irrelevant to this issue, but I found that the sftp extension works well for me to manage my projects on a Centos server and code with it. Waiting so long for a solution to this issue, I finally switch to sftp without using code-server. Good luck, guys!
Same error on CentOS7 here, I'am so excited about the idea of this tool, but this error is really a deal breaker.
same here; Centos 7.3, tried multiple versions of code-server, even building it.
+1 -- I'm committed to CentOS7 server and I'd love to use this tool. Will be watching for CentOS7 support for code-server ! :)
Working on a fix for this right now. If all goes well, we'll have a working CentOS build today!
A working CentOS build today?
Will the next release fix this problem? When?
Forget about this, you guys. VSCode Insiders has an extension released by Microsoft called "Remote Development" which does the same thing as this, and it actually works.
@FractalBoy - remote development vs online ide have one big difference - online ride is not using your local resources (CPU and RAM). It can be critical in some cases.
@EasySoftwarePoland indeed ! the reason why i'm interested with this is to use the physical resource for one of my servers.
any update on this? same issue here. I tried the latest release but same errors. seems like the best option right now is to wait.
@crackerandres it is not the only issue on centos. We fixed this one but the terminal was not working, but it could be an other missing library. We finished with Debian, and everything works well.
@EasySoftwarePoland ah gotcha! thanks for the heads up. I just went ahead and switched over and it works like a champ! Thank you again 👍
Any resolution yet for this on Centos7?
Any update on this? Latest release also not working! But release notes mentions this issue!!
same issue!
Still unable to work on CentOS 7.6.
Yep.
Same issue.
I resolved this issue by install gcc-9.1.0 (gcc-9.1.0.tar.gz) manually in CentOS 7.
https://gcc.gnu.org/mirrors.html
My version: code-server1.1156-vsc1.33.1-linux-x64
I'm completely off here, Visual Studio Code's Remote Development extension does the job for me.
Good luck !
@kiemrong08 Thanks. @Blair2004 Yes. Me too.
We're already building it against CentOS 7 so this should be a fixed now.
Most helpful comment
Working on a fix for this right now. If all goes well, we'll have a working CentOS build today!