![非 root 用户时找不到 ld](https://linux22.com/image/1086788/%E9%9D%9E%20root%20%E7%94%A8%E6%88%B7%E6%97%B6%E6%89%BE%E4%B8%8D%E5%88%B0%20ld.png)
我在运行的网站上有一个自动编译程序。该程序使用 clang++-3.5 来编译 C++。当我以 root 用户身份运行自动编译的 python 脚本时,编译成功。但是,当我使用相同的输入从网站运行它时,脚本会从 clang++-3.5 获得以下输出:
clang: error: unable to execute command: Executable "ld" doesn't exist!
答案1
ld
可能不在您的用户中$PATH
。
尝试whereis ld
找到命令
并echo $PATH
查看该文件夹是否已列出。
我认为,出于简单的安全性考虑,非“d”命令通常sudo
无法找到它。例如,默认情况下,我的远程框不会找到ifconfig
非sudo
命令。
从stackoverflow 上的一篇文章关于设置 $PATH
您需要将其添加到您的
~/.profile file
。
export PATH=$PATH:/path/to/dir
根据您正在做的事情,您可能还需要
symlink
对二进制文件进行以下操作:cd /usr/bin sudo ln -s /path/to/binary binary-name