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

FR: bionic support for vscodium-reh-linux-arm64 #2157

Open
1 of 2 tasks
GitMensch opened this issue Dec 13, 2024 · 10 comments
Open
1 of 2 tasks

FR: bionic support for vscodium-reh-linux-arm64 #2157

GitMensch opened this issue Dec 13, 2024 · 10 comments
Labels
bug Something isn't working

Comments

@GitMensch
Copy link
Collaborator

GitMensch commented Dec 13, 2024

Describe the bug
reh is not starting because of missing dependencies (checking with ldd - all depending libraries not found)

Please confirm that this problem is VSCodium-specific

  • That's related to the binary, so I guess MS's is different

Please confirm that the issue/resolution isn't already documented

To Reproduce

  1. download and extract vscodium-reh-linux-arm64-1.96.0.24347.tar.gz
  2. execute node
  3. See error; check with ldd -> all depending libraries missing

Expected behavior
of course "works"

Workaround
I've installed node manually, then replaced the non-working node binary with a shell script node $* (thinking about that a symlink may have been more reasonable)
Note: While reh works "in general" the pty host and many extensions don't work - as this is a clang only system that has only libc++, not libcstd++.

Additional context
I don't know if a previous version did work or if this was the same before.
But Ideally we could bundle a node that is all self-contained (or have a version without it).

CC'ing @jeanp413 to let him know (maybe the start script of open-remote-ssh could check first if the server directory node works and if not give a warning and then rename that (at least if a system-wide node exists)?

@GitMensch GitMensch added the bug Something isn't working label Dec 13, 2024
@daiyam
Copy link
Member

daiyam commented Dec 13, 2024

@GitMensch
Copy link
Collaborator Author

GitMensch commented Dec 13, 2024

That possible never worked... from my edit:

Note: While reh works "in general" [withg the system provided node] the pty host and many extensions don't work - as this is a clang only system that has only libc++, not libcstd++ [which the node_modules are linked against].

@daiyam
Copy link
Member

daiyam commented Dec 13, 2024

@GitMensch Which node version are you using?

@jeanp413
Copy link

@daiyam 1.96 server is completely broken, just go this issue reported on remote-ssh jeanp413/open-remote-ssh#183.

1.96 is shipping node 16, which as I understand vscodium is using this older version of node to support older glibc, but with 1.96 vscode uses a newer version of undici as a dependancy that imports ReadableStream which is available since node 18.

I think vscode smoke test should've caught this, are those run when running the release pipeline?

@daiyam
Copy link
Member

daiyam commented Dec 15, 2024

are those run when running the release pipeline?

No

@daiyam
Copy link
Member

daiyam commented Dec 18, 2024

Can you test the version 1.96.0.24352? Thx

@GitMensch GitMensch changed the title node in vscodium-reh-linux-arm64-1.96.0.24347.tar.gz is not self-contained FR: bionic support for vscodium-reh-linux-arm64 Dec 18, 2024
@GitMensch
Copy link
Collaborator Author

GitMensch commented Dec 18, 2024

This one can't work, because it is about running vscodium-reh on bionic (android) and in vscodium-reh-linux-arm64:

  • included node is for glibc systems; and VSCODIUM_SERVER_NODE as well as similar solutions from REH on linux: auto-download correct NodeJS #2126 are not yet available
  • included node modules are for glibc systems only (we'd like to have at least the Pty Host working)

@daiyam
Copy link
Member

daiyam commented Dec 18, 2024

because it is about running vscodium-reh on bionic (android)

Oh! Sorry It haven't occured to me it was for android, so it's a new arch.

@daiyam
Copy link
Member

daiyam commented Dec 18, 2024

So sorry, when I read bionic, I immediately thought Debian...

Is there a nodejs version available for Android? Maybe https://github.com/nodejs-mobile/nodejs-mobile. But I can't test it, I don't have any recent Android.
I think you will need to provide a PR.

@GitMensch
Copy link
Collaborator Author

nodejs-mobile just provides libnode.so, we would want the node binary.

I guess the biggest issue is to also build all the node modules for bionic...
Bionic environments like Termux provide a node package (currently 22.8.0).

Maybe it is enough to use npm i --cpu arm64 --os android for that?

I just tried to manually run npm -i @vscode/spdlog on Android and got (after some other strange errors) a note that the android ndk path is not set (not sure if those packages should be cross-compiled)

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

3 participants