今日、私は Bandwhichと呼ばれるネットワーク帯域幅利用ツールをテストしていました 私のUbuntuVMで。そのツールはRustプログラミング言語で開発されています 、カーゴを使ってインストールしてみました パッケージマネージャー。コンパイルプロセスの途中で、次のエラーが発生しました:
Updating crates.io index Installing bandwhich v0.6.0 Compiling libc v0.2.66 error: linker `cc` not found | = note: No such file or directory (os error 2) error: aborting due to previous error error: failed to compile `bandwhich v0.6.0`, intermediate artifacts can be found at `/tmp/cargo-installrqSeTB` Caused by: could not compile `libc`. To learn more, run the command again with --verbose.
上記の出力でわかるように、Cargoは指定されたアプリケーションをコンパイルするためのccコンパイラプログラムを見つけることができませんでした。 Rustにはまだ独自のリンカーが含まれていないため、 gcc
のようなCコンパイラが必要です。 リンカーとして機能するようにインストールされています。
Ubuntuにgccをインストールするには、次のコマンドを実行するだけです:
$ sudo apt install build-essential
別のLinuxOSを使用している場合は、次のリンクを参照して、GNU GCC C / C ++コンパイラ、make、デバッガなどの必要なアプリケーションを含む開発ツールをインストールしてください。
- Linuxに開発ツールをインストールする方法
gccをインストールした後、「linker cc not found
」というエラーが表示されます。 「なくなった!そうすれば、問題なくアプリケーションをインストールできるようになります。
GCCがすでにインストールされていても同じエラーが発生する場合は、 cmake
をインストールしてください そしてさらに試みる。 Cmakeは、ほとんどのLinuxディストリビューションの公式リポジトリで利用できます。
Arch LinuxにCmakeをインストールするには、 [Extra]
を有効にします リポジトリと実行:
$ sudo pacman -S cmake
Debian、Ubuntu、Linux Mintの場合:
$ sudo apt install cmake
Fedora、RHEL、CentOS、AlmaLinux、およびRocky Linuxの場合:
$ sudo dnf install cmake
openSUSEの場合:
$ sudo zypper install cmake
gccをインストールすると、問題は解決しました。
更新:
NixOSでは、「GCC
」をインストールしてもこの問題は解決しません。 "と"make
"。このGitHubスレッドで述べたように 、 nix-shellでこれを試す必要があります 、 nix-envの代わりに 。
頑張ってください!