Поиск по сайту:

Как исправить ошибку Rust «Компоновщик «cc» не найден» в Linux

Сегодня я тестировал инструмент использования пропускной способности сети под названием Band Which на своей виртуальной машине Ubuntu. Этот инструмент разработан на языке программирования Rust, поэтому я попытался установить его с помощью менеджера пакетов Cargo. В середине процесса компиляции я столкнулся со следующей ошибкой:

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 пока нет собственного компоновщика, вам необходимо установить компилятор C, например gcc, который будет выступать в качестве компоновщика.

Чтобы установить gcc в Ubuntu, просто запустите:

sudo apt install build-essential

Если вы используете другую ОС Linux, перейдите по следующей ссылке, чтобы установить инструменты разработки, которые включают в себя необходимые приложения, такие как компиляторы GNU GCC C/C++, make, отладчики и т. д.

  • Как установить инструменты разработки в Linux

После установки gcc ошибка «linker cc not Found» исчезла! И тогда я смогу без проблем установить приложение.

Если вы по-прежнему получаете ту же ошибку, даже если GCC уже установлен, установите cmake и повторите попытку. Cmake доступен в официальных репозиториях большинства дистрибутивов Linux.

Чтобы установить Cmake в Arch Linux, включите репозиторий [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.

Удачи!

Ресурс:

  • https://users.rust-lang.org/t/could-not-exec-the-linker-cc-no- such-file-or-directory/8614

Статьи по данной тематике