open-remote-ssh
open-remote-ssh copied to clipboard
Couldn't connect (=run installed vscrodium-reh) on aarch64 bionic (android)
I'm trying to use a remote-workspace the first time; ssh access does work and there's a .vscodium-server after first connection as remote-workspace.
[Trace - 10:32:20.302] Server install command stdout:
Server script already installed in /data/data/com.termux/files/home/.vscodium-server/bin/09385e58b89a2ff657ce1aafaaced37f28aaa7e8/bin/codium-server
Error server did not start sucessfully
31b9aca8cfc5806a52b74418: start
exitCode==1==
listeningOn====
connectionToken==92d012d1-2446-4102-a572-188d62f88974==
logFile==/data/data/com.termux/files/home/.vscodium-server/.09385e58b89a2ff657ce1aafaaced37f28aaa7e8.log==
osReleaseId==unknown==
arch==aarch64==
platform==Linux==
tmpDir==/tmp==
31b9aca8cfc5806a52b74418: end
[Error - 10:32:20.302] Error resolving authority
Error: Couldn't install vscode server on remote server, install script returned non-zero exit status
at t.installCodeServer (c:\Users\me\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.29-universal\out\extension.js:1:411937)
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at async c:\Users\me\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.29-universal\out\extension.js:1:376368
log content:
/data/data/com.termux/files/home/.vscodium-server/bin/09385e58b89a2ff657ce1aafaaced37f28aaa7e8/bin/codium-server: 12: /data/data/com.termux/files/home/.vscodium-server/bin/09385e58b89a2ff657ce1aafaaced37f28aaa7e8/node: not found
Note: node can be executed on this machine (installed via pkg install nodejs)
Any idea how to process?
Additional Note: works fine when connecting to debian x86_64.
ore checks done:
$ cd /data/data/com.termux/files/home/.vscodium-server/bin/09385e58b89a2ff657ce1aafaaced37f28aaa7e
data/data/com.termux/files/home/.vscodium-server/bin/09385e58b89a2ff657ce1aafaaced37f28aaa7e
$ ldd ./node
libdl.so.2 => not found
libstdc++.so.6 => not found
libm.so.6 => not found
libgcc_s.so.1 => not found
libpthread.so.0 => not found
libc.so.6 => not found
ld-linux-aarch64.so.1 => not found
ok, that cannot work then (not sure if this node binary should be all-static)
$ mv ./node ./node-dist
$ cat - > node <<_EOF
> #!/bin/sh
> node $*
> _EOF
$ chmod +x node
$ rm ../../.09385e58b89a2ff657ce1aafaaced37f28aaa7e8.*
with the result:
[Trace - 13:41:56.310] Server install command stdout:
Server script already installed in /data/data/com.termux/files/home/.vscodium-server/bin/09385e58b89a2ff657ce1aafaaced37f28aaa7e8/bin/codium-server
Error server did not start sucessfully
92dcec7f0fedddb7584738cf: start
exitCode==1==
listeningOn====
connectionToken==459e5d1d-f15c-48f8-8079-bb2b684f0408==
logFile==/data/data/com.termux/files/home/.vscodium-server/.09385e58b89a2ff657ce1aafaaced37f28aaa7e8.log==
osReleaseId==unknown==
arch==aarch64==
platform==Linux==
tmpDir==/tmp==
92dcec7f0fedddb7584738cf: end
[Error - 13:41:56.310] Error resolving authority
Error: Couldn't install vscode server on remote server, install script returned non-zero exit status
at t.installCodeServer (c:\Users\me\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.29-universal\out\extension.js:1:411937)
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at async c:\Users\me\.vscode-oss\extensions\jeanp413.open-remote-ssh-0.0.29-universal\out\extension.js:1:376368
and an empty log file...
mmm strange, I assume you have all the required packages, does using the official remote extension works? or maybe could be a vscodium server issue :thinking:
I assume you have all the required packages
I don't know, they aren't listed in https://github.com/jeanp413/open-remote-ssh/blob/master/README.md and I've thought that vscodium-reh would either link statically to libraries that are not common on the system or distribute those along.
does using the official remote extension works?
I don't know, I've never used that.
Check this table https://code.visualstudio.com/docs/remote/linux#_remote-host-container-wsl-linux-prerequisites
You'll need to install any of these if they are missing libc6 libstdc++6 python-minimal ca-certificates tar
Would it be useful to add a link to this table in the README of this extension?`Does it actually apply or isn't this mostly depending on the reh-binaries downloaded which are up to the provider - in our case vscodium? @daiyam Any ideas?
Note that this actually led me to the underlying issue - vscodium-reh for aarch64 is linked with a GNU/Linux toolchain, so expects libc and friends; while many arm based devices use bionic.
@jeanp413 Would it be possible to automatic download a bionic based version of vscodium-reh-bionic (apart from the issue that it doesn't exist yet, we only have linux + darwin for arm, bionic and win32 are missing)? Also: would it be possible to use the local-installed (already "native") node instead of the one that is part of the unpacked vscodium-reh, if yes - how?
@daiyam Do you see an option to get vscodium-reh-bionic-aarch64 and maybe even vscodium-win32-aarch64 to get alive?
Do you see an option to get vscodium-reh-bionic-aarch64 and maybe even vscodium-win32-aarch64 to get alive?
You can create PRs to do that. But since I can't test them, I won't try.
Hm, looks like we do have a GitHub action building windows arm64 already, just the "reh" is missing, but I have no clue where the build definition for this is. If that's easy maybe activate and ask users of vscodium-win32-arm64 to test it?
For aarch64-bionic that's a bit more complicated. It seems that the workflow would best add the NDK then use this to cross-compile. This would be more complicated, but I may give that a try "some day".
@GitMensch vscode doesn't provide reh-win32-aarch64 (https://github.com/microsoft/vscode/blob/5ca7a333e12b313eda4092bf4d1ca60e365ec416/build/gulpfile.reh.js#L39) so it isn't as easy than flipping a switch. It will need active testing.
So "ignore" or "create issue in VSCodium, start when users post there they'll test"?
@GitMensch I'm trying to do the same thing, were you able to establish the ssh connection with termux? If yes, how did you solve the problem?