This machine does not meet Cursor Server's prerequisites

What exact conditions are there to running ./cursor-7801■■■6824585b7f2721900066bc87c4a09b740?

I have two environments which are binary identical as far as libstdc++ goes also /usr is identical between the two systems.

I would like to know in better detail what exact preconditions cursor is trying to validate because the error message doesn’t tell me much on what is wrong.

Image

Log:

[19:15:07.485] Log Level: 2
[19:15:07.504] SSH Resolver called for "ssh-remote+neo.lan", attempt 1
[19:15:07.505] "remote.SSH.useLocalServer": true
[19:15:07.505] "remote.SSH.useExecServer": true
[19:15:07.505] "remote.SSH.path": 
[19:15:07.505] "remote.SSH.configFile": 
[19:15:07.505] "remote.SSH.useFlock": true
[19:15:07.505] "remote.SSH.lockfilesInTmp": false
[19:15:07.505] "remote.SSH.localServerDownload": auto
[19:15:07.505] "remote.SSH.remoteServerListenOnSocket": false
[19:15:07.506] "remote.SSH.showLoginTerminal": false
[19:15:07.506] "remote.SSH.defaultExtensions": []
[19:15:07.506] "remote.SSH.loglevel": 2
[19:15:07.506] "remote.SSH.enableDynamicForwarding": true
[19:15:07.506] "remote.SSH.enableRemoteCommand": false
[19:15:07.506] "remote.SSH.serverPickPortsFromRange": {}
[19:15:07.507] "remote.SSH.serverInstallPath": {}
[19:15:07.507] "remote.SSH.permitPtyAllocation": false
[19:15:07.508] "remote.SSH.preferredLocalPortRange: undefined
[19:15:07.508] "remote.SSH.useCurlAndWgetConfigurationFiles: false
[19:15:07.518] VS Code version: 0.48.8
[19:15:07.518] Remote-SSH version: [email protected]
[19:15:07.519] linux x64
[19:15:07.520] SSH Resolver called for host: neo.lan
[19:15:07.520] Setting up SSH remote "neo.lan"
[19:15:07.524] Acquiring local install lock: /tmp/vscode-remote-ssh-2633c6d0-install.lock
[19:15:07.525] Looking for existing server data file at /root/.var/app/sh.ironforge.cursor/config/Cursor/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-2633c6d0-7801■■■6824585b7f2721900066bc87c4a09b740-0.113.1-es/data.json
[19:15:07.526] Using commit id "7801■■■6824585b7f2721900066bc87c4a09b740" and quality "stable" for server
[19:15:07.529] Install and start server if needed
[19:15:07.532] PATH: /app/bin:/usr/bin
[19:15:07.532] Checking ssh with "ssh -V"
[19:15:07.540] > OpenSSH_9.9p2, OpenSSL 3.3.3 11 Feb 2025

[19:15:07.543] askpass server listening on /run/user/0/vscode-ssh-askpass-405049e56a3efbce5e62ba6a7b493a83722d654f.sock
[19:15:07.544] Spawning local server with {"serverId":1,"ipcHandlePath":"/run/user/0/vscode-ssh-askpass-f33347f0f9024c4d742f5bbf906a9178d41bce43.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","45785","-o","ConnectTimeout=15","neo.lan"],"serverDataFolderName":".cursor-server","dataFilePath":"/root/.var/app/sh.ironforge.cursor/config/Cursor/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-2633c6d0-7801■■■6824585b7f2721900066bc87c4a09b740-0.113.1-es/data.json"}
[19:15:07.544] Local server env: {"SSH_AUTH_SOCK":"/tmp/ssh-XXXXXXUgDjdt/agent.21104","SHELL":"/bin/sh","DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/app/share/cursor/cursor","VSCODE_SSH_ASKPASS_EXTRA_ARGS":"","VSCODE_SSH_ASKPASS_MAIN":"/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/run/user/0/vscode-ssh-askpass-405049e56a3efbce5e62ba6a7b493a83722d654f.sock"}
[19:15:07.548] Spawned 400
[19:15:07.636] > local-server-1> Running ssh connection command: ssh -v -T -D 45785 -o ConnectTimeout=15 neo.lan
[19:15:07.639] > local-server-1> Spawned ssh, pid=408
[19:15:07.641] stderr> OpenSSH_9.9p2, OpenSSL 3.3.3 11 Feb 2025
[19:15:07.734] stderr> debug1: Server host key: ssh-ed25519 SHA256:ECCfQeDciTX6N1gbud8NVAsBMyFlLsKOX95FwcgmHWI
[19:15:07.812] stderr> Authenticated to neo.lan ([192.168.86.21]:22) using "publickey".
[19:15:07.868] > ready: 15b992363ec4
[19:15:07.875] > Linux 6.11.5 #1 SMP PREEMPT_DYNAMIC Wed Nov 27 22:48:46 CET 2024
[19:15:07.875] Platform: linux
[19:15:07.880] > /bin/bash
[19:15:07.881] Shell: bash
[19:15:07.881] Creating bash subshell inside "bash"
[19:15:07.885] > bash version:  5.2.25(1)-release
[19:15:07.899] > 15b992363ec4: running
[19:15:07.908] > Found existing installation at /root/.cursor-server...
> Starting VS Code CLI... "/root/.cursor-server/cursor-7801■■■6824585b7f2721900066bc87c4a09b740" command-shell --cli-data-dir "/root/.cursor-server/cli" --on-port --on-host=127.0.0.1 --parent-process-id 3368 &> "/root/.cursor-server/.cli.7801■■■6824585b7f2721900066bc87c4a09b740.log" < /dev/null
> printenv:
>     SHELL=/bin/bash
>     PWD=/root
>     LOGNAME=root
>     HOME=/root
>     VSCODE_AGENT_FOLDER=/root/.cursor-server
>     SSH_CONNECTION=192.168.86.23 37136 192.168.86.21 22
>     USER=root
>     SHLVL=2
>     SSH_CLIENT=192.168.86.23 37136 22
>     PATH=/usr/bin
>     MAIL=/var/mail/root
>     _=/usr/bin/printenv
[19:15:07.910] > Removing old logfile at /root/.cursor-server/.cli.7801■■■6824585b7f2721900066bc87c4a09b740.log
> Spawned remote CLI: 3394
[19:15:07.923] > Waiting for server log...
[19:15:07.963] > Exec server process not found
> [2025-04-14 19:15:07] error This machine does not meet Cursor Server's prerequisites, expected either...
>   - find libstdc++.so or ldconfig for GNU environments
>   - find /lib/ld-musl-x86_64.so.1, which is required to run the Cursor Server in musl environments
[19:15:07.966] > 15b992363ec4: start
> SSH_AUTH_SOCK====
> DISPLAY====
> listeningOn====
> osReleaseId==Linux==
> arch==x86_64==
> vscodeArch==x64==
> bitness==64==
> tmpDir==/tmp==
> platform==linux==
> unpackResult====
> didLocalDownload==0==
> downloadTime====
> installTime====
> serverStartTime==55==
> execServerToken==aa1a1a1a-1aaa-1a1a-111a-a11111a1a1aa==
> 15b992363ec4: end
[19:15:07.967] Received install output: 
SSH_AUTH_SOCK====
DISPLAY====
listeningOn====
osReleaseId==Linux==
arch==x86_64==
vscodeArch==x64==
bitness==64==
tmpDir==/tmp==
platform==linux==
unpackResult====
didLocalDownload==0==
downloadTime====
installTime====
serverStartTime==55==
execServerToken==aa1a1a1a-1aaa-1a1a-111a-a11111a1a1aa==

[19:15:07.969] Failed to parse remote port from server output
[19:15:07.969] Terminating local server
[19:15:07.976] Resolver error: Error: 
	at m.Create (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:501230)
	at t.handleInstallOutput (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:498552)
	at e (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:560424)
	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
	at async /root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:582481
	at async t.withShowDetailsEvent (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:586100)
	at async /root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:557129
	at async T (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:555180)
	at async t.resolveWithLocalServer (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:556669)
	at async k (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:579620)
	at async t.resolve (/root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:583511)
	at async /root/.cursor/extensions/ms-vscode-remote.remote-ssh-0.113.1/out/extension.js:2:851172
[19:15:07.995] ------




[19:15:07.998] Local server exit: 15

Additionally:

  • the kernel config is identical on the two machines
  • Linux xps 6.11.5 #10 SMP PREEMPT_DYNAMIC Mon Mar 31 11:25:14 CEST 2025 x86_64 GNU/Linux
  • Linux neo 6.11.5 #1 SMP PREEMPT_DYNAMIC Wed Nov 27 22:48:46 CET 2024 x86_64 GNU/Linux

On one machine the /lib is a symlink to /usr/lib and on the other /lib is a standalone system lib that can be used without /usr being mounted. I suspect this might be the problem but not knowing what cursor expects to find in either of those places makes this very difficult to debug.

I have also tried to run with a minimal environment variables (env -i bash) but no difference.

Running strace ./cursor-0781e811de386a0c5bcb07ceb259df8ff8246a50 on the two machines reveals nothing suspicious`

By making a symbolic link from /sbin to /usr/bin I was able to get remote-ssh extension working with cursor.

The error message is from this spurious and should be improved.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.