Aujourd'hui, je testais un outil d'utilisation de la bande passante réseau appelé Bandwhich sur ma machine virtuelle Ubuntu. Cet outil est développé en langage de programmation Rust , j'ai donc essayé de l'installer en utilisant Cargo directeur chargé d'emballage. Au milieu du processus de compilation, j'ai rencontré l'erreur suivante :
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.
Comme vous pouvez le voir dans la sortie ci-dessus, Cargo n'a pas pu trouver le programme de compilation cc pour compiler l'application donnée. Puisque Rust n'inclut pas encore son propre éditeur de liens, vous devez avoir un compilateur C comme gcc
installé pour agir en tant que lieur.
Pour installer gcc sur Ubuntu, lancez simplement :
$ sudo apt install build-essential
Si vous utilisez un système d'exploitation Linux différent, consultez le lien suivant pour installer les outils de développement qui incluent les applications nécessaires, telles que les compilateurs GNU GCC C/C++, make et les débogueurs, etc.
- Comment installer les outils de développement sous Linux
Après l'installation de gcc, l'erreur "linker cc not found
" est parti ! Et je peux ensuite installer l'application sans aucun problème.
Si vous obtenez toujours la même erreur même si GCC est déjà installé, installez cmake
et essayez à nouveau. Cmake est disponible dans les dépôts officiels de la plupart des distributions Linux.
Pour installer Cmake sur Arch Linux, activez [Extra]
référentiel et exécutez :
$ sudo pacman -S cmake
Sur Debian, Ubuntu, Linux Mint :
$ sudo apt install cmake
Sur Fedora, RHEL, CentOS, AlmaLinux et Rocky Linux :
$ sudo dnf install cmake
Sur openSUSE :
$ sudo zypper install cmake
L'installation de gcc a résolu le problème pour moi.
Mise à jour :
Dans NixOS, ce problème ne sera pas résolu même après l'installation de "GCC
" et "make
". Comme mentionné dans ce fil GitHub , vous devriez essayer ceci avec nix-shell , au lieu de nix-env .
Bonne chance !