【问题标题】:LD_LIBRARY_PATH error when calling ssh调用 ssh 时出现 LD_LIBRARY_PATH 错误
【发布时间】:2016-05-25 21:00:38
【问题描述】:

我在服务器中有一个 python 文件。我运行该文件没有任何错误。

但是当我通过 ssh 从另一台计算机运行文件时,

cat hello.py | ssh user@192.168.1.101 python -

我收到以下错误:

ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory

我该如何解决这个问题?

【问题讨论】:

  • 你在远程电脑上安装了lib吗?
  • 是的,它在远程计算机上运行良好。

标签: python ssh ld cat


【解决方案1】:

如果我理解正确 - 您的 hello.py 文件在一台服务器 A 上运行,但不在服务器 B 上。

服务器 B 是您从任何地方 ssh 到的那个。

您的错误似乎表明服务器 B 上的环境未正确设置为执行 hello.py 文件。如果您的服务器运行的是 linux 操作系统,那么我会比较一下

/etc/profile
/etc/profile.local
/etc/bash.bashrc.local
/etc/csh.cshrc.local

在工作服务器和非工作服务器之间, 并做一个

echo $LD_LIBRARY_PATH

在每台服务器上观察任何差异。 似乎服务器 B 没有为 nvidia cuda 库设置环境,特别是 LD_LIBRARY_PATH 环境变量。 或者您没有在服务器 B 上安装 cuda 库。 如果两者都不是,那么我会查看服务器 B 上的 /etc/ssh/sshd_config 文件,以查看是否存在任何环境限制,防止发生导致您的问题的完整登录环境。

【讨论】:

  • 服务器 B 是树莓派。因为我不能在树莓派上运行cuda,所以我需要连接到服务器A才能使用cuda,并获取输出。
【解决方案2】:

好的,我认为您的问题有两个方面。 一个是具有 Nvidia CUDA 的服务器 A 没有通过网络将图形发送到您的树莓派,这可能类似于服务器 A 上的 sshd 配置下的 Forward X11 图形。但是如果您使用的是简单的 ssh 终端那么你的树莓派也是一个问题,因为我不相信图形可以通过这种连接方法显示。 第 2 部分,我会用 nvidia CUDA 为服务器 A 赌钱,是 CUDA wnats 运行并显示在:0.0 从显卡 vga/dvi 端口出来到监视器。那是 display :0.0 并且如果不使用某些 3rd 方软件就无法通过网络重定向;我知道实现这一点的两个是 Real-vnc 和 NxMachine。我在使用tightvnc 和其他远程桌面程序远程连接到Linux 服务器时遇到了类似的问题,并且在尝试在服务器上运行软件时会出现OpenGL 渲染错误。这可以通过让服务器运行可以通过网络成功重定向 display :0.0 图形的软件来解决,然后您需要 [在您的树莓派上] 可以显示这些图形的客户端软件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 2018-04-20
    • 2017-03-06
    • 2013-02-08
    • 1970-01-01
    • 2012-03-23
    • 2017-06-15
    • 1970-01-01
    相关资源
    最近更新 更多