Skip to content
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

Error relocating /home/venom/.local/lib/code-server-4.90.2/lib/node: fcntl64: symbol not found on Alpine Linux #6850

Closed
1 of 2 tasks
VenomousSteam81 opened this issue Jun 18, 2024 · 7 comments
Labels
bug Something isn't working triage This issue needs to be triaged by a maintainer

Comments

@VenomousSteam81
Copy link

VenomousSteam81 commented Jun 18, 2024

Is there an existing issue for this?

  • I have searched the existing issues

OS/Web Information

  • Web Browser: Firefox
  • Local OS: PostmarketOS (Based on Alpine)
  • Remote OS: Same as above
  • Remote Architecture: Arm64/aarch64
  • code-server --version: Error relocating /home/venom/.local/lib/code-server-4.90.2/lib/node: fcntl64: symbol not found

Steps to Reproduce

  1. Install code-server
  2. Run code-server

Expected

Code server runs normally

Actual

The console outputs Error relocating /home/venom/.local/lib/code-server-4.90.2/lib/node: fcntl64: symbol not found

Logs

`Error relocating /home/venom/.local/lib/code-server-4.90.2/lib/node: fcntl64: symbol not found`

Screenshot/Video

No response

Does this bug reproduce in native VS Code?

This cannot be tested in native VS Code

Does this bug reproduce in GitHub Codespaces?

I did not test GitHub Codespaces

Are you accessing code-server over a secure context?

  • I am using a secure context.

Notes

I'm assuming that this is just an issue with Alpine altogether as native VSCode also doesn't run

@VenomousSteam81 VenomousSteam81 added bug Something isn't working triage This issue needs to be triaged by a maintainer labels Jun 18, 2024
@VenomousSteam81
Copy link
Author

Update: I installed the nodejs package, made a backup of the node file thats giving me problems, and copied the node file that I installed to the one that comes with code-server. This seems to work. It's probably not the safest option, but hey, whatever works!

@VenomousSteam81
Copy link
Author

Now I'm having another issue where the builtin terminal won't work. It just outputs * Restarting the terminal because the connection to the shell process was lost....

@code-asher
Copy link
Member

code-asher commented Jun 20, 2024

Did you install it from GitHub releases or something? If so, yeah those are not compiled for Alpine. You will need to do two things:

  1. Replace the Node binary (which you already did)
  2. Recompile all the native Node modules (it should be enough to run npm rebuild in both the root and lib/vscode directories)

Building the modules requires a bunch of dependencies and can take a while. Our docs are a bit out of date here but I think you need:

apk add alpine-sdk bash libstdc++ libc6-compat krb5-dev python3
npm config set python python3

Although, some folks are having issues with this, so it might not work: #6846

Related: #3431

@code-asher
Copy link
Member

code-asher commented Jun 20, 2024

A shorter but equivalent way of doing the recompilation is to install with npm (npm install -g code-server --unsafe-perm), rather than downloading the GitHub release first.

@VenomousSteam81
Copy link
Author

Did you install it from GitHub releases or something? If so, yeah those are not compiled for Alpine. You will need to do two things:

I used the install script.
I think I will just recompile, since I already have it installed. But if it doesn't work, I will post here. Thank you!

@code-asher
Copy link
Member

code-asher commented Jun 21, 2024

I used the install script.

Oooo, this is might a bug in the install script then! It is supposed to install via npm when it detects Alpine:

alpine | freebsd) install_npm ;;

But I wonder if the detection logic is broken. Looks like it uses ID from /etc/os-release. Does yours say something other than alpine?

Edit: or did you use --method=standalone maybe? I think this forces installing from GitHub releases, and it only checks the architecture and not the OS. We should fix this to check for Alpine. The flag is also not named very well, it should probably be called --install-from-github or similar.

@code-asher
Copy link
Member

Closing for now but feel free to add information and we can reopen.

@code-asher code-asher closed this as not planned Won't fix, can't repro, duplicate, stale Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage This issue needs to be triaged by a maintainer
Projects
None yet
Development

No branches or pull requests

2 participants