Hoy estuve probando una herramienta de utilización de ancho de banda de red llamada Bandwhich en mi máquina virtual Ubuntu. Esa herramienta está desarrollada en lenguaje de programación Rust , así que traté de instalarlo usando Cargo gerente de empaquetación. En medio del proceso de compilación, me encontré con el siguiente error:
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.
Como puede ver en el resultado anterior, Cargo no pudo encontrar el programa compilador cc para compilar la aplicación dada. Dado que Rust aún no incluye su propio enlazador, debe tener un compilador de C como gcc
instalado para actuar como el enlazador.
Para instalar gcc en Ubuntu, simplemente ejecute:
$ sudo apt install build-essential
Si tiene un sistema operativo Linux diferente, consulte el siguiente enlace para instalar las herramientas de desarrollo que incluyen las aplicaciones necesarias, como los compiladores GNU GCC C/C++, make y depuradores, etc.
- Cómo instalar herramientas de desarrollo en Linux
Después de instalar gcc, aparece el error "linker cc not found
" se ha ido! Y entonces podré instalar la aplicación sin ningún problema.
Si aún recibe el mismo error incluso si GCC ya está instalado, instale cmake
e intenta de nuevo. Cmake está disponible en los repositorios oficiales de la mayoría de las distribuciones de Linux.
Para instalar Cmake en Arch Linux, habilite [Extra]
repositorio y ejecute:
$ sudo pacman -S cmake
En Debian, Ubuntu, Linux Mint:
$ sudo apt install cmake
En Fedora, RHEL, CentOS, AlmaLinux y Rocky Linux:
$ sudo dnf install cmake
En openSUSE:
$ sudo zypper install cmake
Instalar gcc me resolvió el problema.
Actualización:
En NixOS, este problema no se resolverá incluso después de instalar "GCC
" y "make
". Como se menciona en este hilo de GitHub , deberías probar esto con nix-shell , en lugar de nix-env .
¡Buena suerte!