SSH connection failed because of missing files ld-linux-armhd.so.3 and ld-linux-aarch64.so.1

Hi.

I’m trying to profile a remote x86_64 linux server from an x86_64 linux host. However, the ssh connection failed because some files were missing from the target.
ld-linux-armhd.so.3 and ld-linux-aarch64.so.1

I have searched around but couldn’t figure out why they are needed and how to install them correctly.

I installed the latest version of Nsys, i.e. 2023.3.1 from Gameworks Download Center | NVIDIA Developer.

Host runs Ubuntu 20.04.03, CUDA 12.2 (535.86.05) on a GTX 750Ti.
Various targets that saw the same problem are:

  • Server running Ubuntu 20.04.03, CUDA 11.4 on 3 RTX 3090s.
  • Server running Ubuntu 20.04.01, CUDA 11.4 on 3 RTX 3090s.
  • Jetson Xavier NX

I would really appreciate it if you could give me some answer.
TIA.

What version of Nsys did you install?

@hwilper I installed the latest version of Nsys, i.e. 2023.3.1 from Gameworks Download Center | NVIDIA Developer.

Host runs Ubuntu 20.04.03, CUDA 12.2 (535.86.05) on a GTX 750Ti.
Various targets that saw the same problem are:

  • Server running Ubuntu 20.04.03, CUDA 11.4 on 3 RTX 3090s.
  • Server running Ubuntu 20.04.01, CUDA 11.4 on 3 RTX 3090s.
  • Jetson Xavier NX

Okay, the same version of Nsys should not run on Jetson and x86.

And it looks from the error like the version that you have expects you to be on SBSA (ARM for server).

@hwilper i use this installer on a x86_64 linux host and try to connect to another x86_64 linux host. As you can see, it is asking for those files.

Could you please tell me where it went wrong?

@ttungnguyen2205 do you have the exact file name you downloaded.

@mpopov do you have any ideas?

I downloaded this file @hwilper

NsightSystems-linux-public-2023.3.1.92-3314722.run

It looks like the problem is with the missing libc6 package on targets. Could you try installing it?

sudo apt install libc6

@mpopov That doesn’t seem to be the problem. At least the two x86 are already installed with the latest versions of libc6.

Thank you for checking. Could you also check if the file /lib64/ld-linux-x86-64.so.2 exists on those x86_64 systems?

If it exists, please attach the Nsight Systems logs (nsys-ui.log). Logs can be enabled by renaming nvlog.config.template to nvlog.config in a host directory."

nsys-ui (copy).log (26.0 KB)

@mpopov Thanks for your instructions. Here is the log file. Please take a look.

It looks like /lib64/ld-linux-x86-64.so.2, which is a part of the libc6 package (Ubuntu – File list of package libc6/focal/amd64), is missing on your system. Please try to repair it. For example:

sudo apt install --reinstall libc6

@mpopov It did not work. But before, I did check and the ld-linux-x86-x64.so.2 does exist on both the host and the target systems.

Thank you for checking. Could you also execute this on the host system using the same user/target (x86_64) as you use in the Nsight Systems connection settings and send us the result? This would help us pinpoint the issue.

ssh user@target "/bin/bash -s" << EOF
[ -e /lib64/ld-linux-x86-64.so.2 ]
echo \$?
EOF

Hi. The outputs for both of the targets are 0.

@mpopov Hi. Are there any updates?

@ttungnguyen2205 , could you also provide the output of a command to determine the default shell on the remote machine (login to the remote machine using ssh user@target before executing the command)?

echo $(sh -c 'ps -p $$ -o ppid=' | xargs -I'{}' readlink -f '/proc/{}/exe')

@mpopov Oh dang it. All three remote machines of mine are configured to use fish by default. Switched back to bash and now the connections seem fine. Thanks a lot. You are a life saver.

1 Like

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