Skip to content

`GLIBC_2.18' not found error (Centos7 with GLIBC 2.17), terminal and extensions not working #1742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
opoloko opened this issue May 28, 2020 · 15 comments
Labels
bug Something isn't working
Milestone

Comments

@opoloko
Copy link

opoloko commented May 28, 2020

  • Web Browser:
  • Local OS:
  • Remote OS:
  • Remote Architecture:
  • code-server --version: 3.4.0

Hi although on the release it says that this bug was fixed, that's not the case. On standard and updated Centos7 (coming with glibc 2.17 only), code-server 3.4.0 wrongly says it needs 2.18.

/home/usercode-server/code-server/bin/../lib/node: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/user/code-server/code-server/bin/../lib/libstdc++.so.6)

Perfectly working version 3.3.0 (that sadly cannot be updated automatically as it's broken so I'm performing a new installation).

How to solve it?

@nhooyr
Copy link
Contributor

nhooyr commented May 28, 2020

Ah my bad.

You can just delete the dynamic libraries in lib/*.so* and then it should work for now.

Will fix in 3.4.1.

@nhooyr nhooyr added the bug Something isn't working label May 28, 2020
@opoloko
Copy link
Author

opoloko commented May 28, 2020

Ah my bad.

You can just delete the dynamic libraries in lib/*.so* and then it should work for now.

Will fix in 3.4.1.

Hi thanks for the hint, that worked and code-server started.

Not sure if it depends on that or something else, but Terminal sadly doesn't work anymore...it's stuck on starting/launching and it remains so forever. Did something change in terms of terminal settings from 3.3.0? I have some personal settings when launching bash for my environment, and I see that when 3.4.0 starts it mentions a default configuration file created in a hidden folder, but this is not mentioned in 3.3.0.

Any suggestion how to fix it? It works perfectly when I launch code-server 3.3.0

@nhooyr
Copy link
Contributor

nhooyr commented May 28, 2020

Hmm. And there are no logs on why the Terminal won't start?

You're using the bundled version of node to start it right?

Also, you might find the npm package a more stable installation method as it rebuilds all native components against your system to avoid these sorts of issues.

@opoloko
Copy link
Author

opoloko commented May 28, 2020

When it starts it says again there are problems with glibc

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/code-server/code-server/lib/vscode/node_modules/spdlog/build/Release/spdlog.node)

IPC Library: File Watcher (nsfw)] Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/code-server/code-server/lib/vscode/node_modules/vscode-nsfw/build/Release/nsfw.node)

Will look into npm...I was using the standalone installation.

@opoloko
Copy link
Author

opoloko commented May 28, 2020

Hmm. And there are no logs on why the Terminal won't start?

You're using the bundled version of node to start it right?

Also, you might find the npm package a more stable installation method as it rebuilds all native components against your system to avoid these sorts of issues.

Hi I actually tried the NPM but is very messy business on a production server with loads of packages installed already and other systems working.

Just trying to install the needed dependencies with yum creates all sort of conflicts, so it's not a viable solution.

Not sure why all was working well in 3.3.0 and now on the same server I had these problems (it seems there's something related to glibc for sure).

@kalmir
Copy link

kalmir commented May 28, 2020

I'm having the same problem in Cloud9. Though I'm a lama and hardly know what I'm doing.

/home/ec2-user/.local/lib/code-server-3.4.0/bin/../lib/node: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/ec2-user/.local/lib/code-server-3.4.0/bin/../lib/libstdc++.so.6)

@dvelopin
Copy link

dvelopin commented May 28, 2020

I had a similar problem upgrading to 3.4.0 on Ubuntu. But following the advice said above fixed it for me:

You can just delete the dynamic libraries in lib/*.so* and then it should work for now.

@opoloko opoloko changed the title `GLIBC_2.18' not found error (Centos7 with GLIBC 2.17) `GLIBC_2.18' not found error (Centos7 with GLIBC 2.17), terminal and extensions not working May 28, 2020
@opoloko
Copy link
Author

opoloko commented May 28, 2020

The problem is that, like others reported, even deleting those libraries the release at least on some systems is faulted. There other errors elsewhere related to glibc as I reported before, even if code-server seems to work normally.

@nhooyr I did some more tests, is not only terminal not working (like others noted), also extensions are installed but cannot be activated (no error message, they simply fail...it goes into 'Activating extensions' and then fails). They are all installed.

I wonder what happened with a perfectly working release 3.3.0 just a few weeks ago, and then all together broken updater, new install system, problems with glibc, terminal and extensions not working. Ah and also a change in the configuration file that is read, so my configuration in 3.3.0 was not working in 3.4.0 as password was moved in a new configuration file.

It feels like there was a substantial base change that broke what was working? Is it worth maybe a new update but starting from the better working base (it seems to me) of the 3.3.0?

@Green222
Copy link

On my side, I can open terminal. But many commands run in it are broken, with for instance:
root@greenou  ~/rankup  apt apt: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0)
apt: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0)

(and I deleted the content of ./lib/.so but doesn't change anything).
I will go back to the 3.3.0 because this preventing me from doing most of the things I usually do.

@opoloko
Copy link
Author

opoloko commented May 30, 2020

On my side, I can open terminal. But many commands run in it are broken, with for instance:
root@greenou  ~/rankup  apt apt: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0)
apt: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0)

(and I deleted the content of ./lib/.so but doesn't change anything).
I will go back to the 3.3.0 because this preventing me from doing most of the things I usually do.

Same experience here, I was looking back at the changelog for the new releases and it seems @nhooyr went back to an older version of VSC for the new releases after 3.3.0...my feeling is that maybe that plus those changes with install script and other structural things broke something?

I'm also happily back to 3.3.0 as it works perfectly, hopefully we can get soon a more sorted update that continues where 3.3.0 finished not breaking what was working with that one as I see many had problems with the updates since then.

@nhooyr I noticed another bug: using the install script, on a genuine Intel server it wants to install the AMD version somehow. I didn't let it install the rpm as I prefer to install it manually myself.

Honestly I think an install script for this product is possibly not needed: all the needed steps to configure nginx and all the rest means that to configure the whole thing requires anyway equal if not better skills than just installing it.

@nhooyr
Copy link
Contributor

nhooyr commented Jun 4, 2020

Once again so sorry about this!

Same experience here, I was looking back at the changelog for the new releases and it seems @nhooyr went back to an older version of VSC for the new releases after 3.3.0...my feeling is that maybe that plus those changes with install script and other structural things broke something?

It was bundling in the dynamic libraries that screwed everything up. See #1761

They were also bundled from Debian 8 which requires a more recent glibc than CentOS 7.

This is going to be fixed today with 3.4.1 which goes back to compiling everything on CentOS 7. See #1766

@nhooyr I noticed another bug: using the install script, on a genuine Intel server it wants to install the AMD version somehow. I didn't let it install the rpm as I prefer to install it manually myself.

There is no intel vs amd version. amd64 refers to the architecture which is shared by Intel and AMD.

Honestly I think an install script for this product is possibly not needed: all the needed steps to configure nginx and all the rest means that to configure the whole thing requires anyway equal if not better skills than just installing it.

It's less about skill and more about convenience, you can quickly setup any Unix machine with code-server without really thinking too much.

@opoloko
Copy link
Author

opoloko commented Jun 4, 2020

Thank you very much, it all makes perfect sense, no an easy task for sure to maintain this!

Will check when new version is out and hopefully will get it working and will report back :-)

@nhooyr
Copy link
Contributor

nhooyr commented Jun 4, 2020

New release is out!

https://github.com/cdr/code-server/releases/tag/v3.4.1

@nhooyr nhooyr closed this as completed Jun 4, 2020
@Green222
Copy link

Green222 commented Jun 4, 2020

No worries, thanks for the fast fix!

@opoloko
Copy link
Author

opoloko commented Jun 4, 2020

Just installed, all went smooth and everything seems to work again, stellar work @nhooyr !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants