Oggi stavo testando uno strumento di utilizzo della larghezza di banda di rete chiamato Bandwhich sulla mia macchina virtuale Ubuntu. Questo strumento è sviluppato nel linguaggio di programmazione Rust , quindi ho provato a installarlo utilizzando Cargo gestore di pacchetti. Durante il processo di compilazione, ho riscontrato il seguente errore:
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.
Come puoi vedere nell'output sopra, Cargo non è riuscito a trovare il programma di compilazione cc per compilare l'applicazione specificata. Poiché Rust non include ancora il proprio linker, è necessario disporre di un compilatore C come gcc
installato per fungere da linker.
Per installare gcc su Ubuntu, esegui semplicemente:
$ sudo apt install build-essential
Se utilizzi un sistema operativo Linux diverso, fai riferimento al seguente link per installare gli strumenti di sviluppo che includono le applicazioni necessarie, come compilatori GNU GCC C/C++, make e debugger ecc.
- Come installare gli strumenti di sviluppo in Linux
Dopo aver installato gcc, viene visualizzato l'errore "linker cc not found
" non c'è più! E poi posso installare l'applicazione senza problemi.
Se ricevi ancora lo stesso errore anche se GCC è già installato, installa cmake
e riprova. Cmake è disponibile nei repository ufficiali della maggior parte delle distribuzioni Linux.
Per installare Cmake su Arch Linux, abilita [Extra]
repository ed eseguire:
$ sudo pacman -S cmake
Su Debian, Ubuntu, Linux Mint:
$ sudo apt install cmake
Su Fedora, RHEL, CentOS, AlmaLinux e Rocky Linux:
$ sudo dnf install cmake
Su openSUSE:
$ sudo zypper install cmake
L'installazione di gcc mi ha risolto il problema.
Aggiornamento:
In NixOS, questo problema non si risolve anche dopo aver installato "GCC
" e "make
". Come menzionato in questo thread GitHub , dovresti provare con nix-shell , invece di nix-env .
Buona fortuna!