vscodium icon indicating copy to clipboard operation
vscodium copied to clipboard

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

Open GitMensch opened this issue 1 year ago • 10 comments

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 avatar Dec 13 '24 10:12 GitMensch

Not sure why, it use the same version as for 1.95.3.24321 (https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-arm64.tar.gz)

  • 1.96.0.24347: https://github.com/VSCodium/vscodium/actions/runs/12300460831/job/34329399441#step:11:741
  • 1.95.3.24321: https://github.com/VSCodium/vscodium/actions/runs/11865891867/job/33072034303#step:11:1108

Which node version are you using?

daiyam avatar Dec 13 '24 11:12 daiyam

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].

GitMensch avatar Dec 13 '24 11:12 GitMensch

@GitMensch Which node version are you using?

daiyam avatar Dec 13 '24 17:12 daiyam

@daiyam 1.96 server is completely broken, just go this issue reported on remote-ssh https://github.com/jeanp413/open-remote-ssh/issues/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?

jeanp413 avatar Dec 14 '24 12:12 jeanp413

are those run when running the release pipeline?

No

daiyam avatar Dec 15 '24 00:12 daiyam

Can you test the version 1.96.0.24352? Thx

daiyam avatar Dec 18 '24 00:12 daiyam

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 #2126 are not yet available
  • included node modules are for glibc systems only (we'd like to have at least the Pty Host working)

GitMensch avatar Dec 18 '24 07:12 GitMensch

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 avatar Dec 18 '24 08:12 daiyam

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.

daiyam avatar Dec 18 '24 10:12 daiyam

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)

GitMensch avatar Dec 18 '24 11:12 GitMensch

This issue has been automatically marked as stale. If this issue is still affecting you, please leave any comment, and we'll keep it open. If you have any new additional information, please include it with your comment!

github-actions[bot] avatar Jun 17 '25 01:06 github-actions[bot]

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).

Termux cross-compiles nodejs against Android NDK. For usage in VSCodium, probably we need to build nodejs ourselves to avoid termux's prefix if we are going to support it outside of termux. https://github.com/termux/termux-packages/blob/master/packages/nodejs/build.sh

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)

Yes, cross-compile is usually the correct way to build binaries and libraries for Android.

kxxt avatar Jun 17 '25 02:06 kxxt

This issue has been automatically marked as stale. If this issue is still affecting you, please leave any comment, and we'll keep it open. If you have any new additional information, please include it with your comment!

github-actions[bot] avatar Dec 15 '25 01:12 github-actions[bot]

No one showed up with a bionic build of node.js so far and while I'm not so eager to give it a try (rather work on other free software) it still affects me.

GitMensch avatar Dec 15 '25 08:12 GitMensch