非 root 用户时找不到 ld

非 root 用户时找不到 ld

我在运行的网站上有一个自动编译程序。该程序使用 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无法找到它。例如,默认情况下,我的远程框不会找到ifconfigsudo命令。

stackoverflow 上的一篇文章关于设置 $PATH

您需要将其添加到您的~/.profile file

export PATH=$PATH:/path/to/dir

根据您正在做的事情,您可能还需要symlink对二进制文件进行以下操作:

cd /usr/bin
sudo ln -s /path/to/binary binary-name

相关内容