非ルートユーザーの場合、ld が見つかりません

非ルートユーザーの場合、ld が見つかりません

私が運営しているウェブサイトには、自動コンパイル プログラムがあります。このプログラムは、clang++-3.5 を使用して C++ をコンパイルします。自動コンパイル 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

関連情報