collect2: фатальная ошибка: компиляция 'ld' не может быть прекращена

Я случайно перезаписал файл ld в /usr/bin. Затем я удалил файл и переустановил binutils. Теперь я получаю сообщение об ошибке в заголовке, когда пытаюсь скомпилировать файл C++ с помощью g++.

Файл ld присутствует в каталоге /usr/bin, хотя он выглядит как битая символическая ссылка. Он указывает на файл с именем x86_64-linux-gnu-ld, который я нигде не могу найти. Как я могу это исправить?

1 ответ

/usr/bin/x86_64-linux-gnu-ldсама по себе является символической ссылкой на

      $ ls -l /usr/bin/x86_64-linux-gnu-ld
lrwxrwxrwx 1 root root 23 Mar 12  2022 /usr/bin/x86_64-linux-gnu-ld -> x86_64-linux-gnu-ld.bfd

/usr/bin/x86_64-linux-gnu-ld.bfdпредоставляется пакетом binutils-x86-64-linux-gnu

      $ dpkg -S $(realpath /usr/bin/ld)
binutils-x86-64-linux-gnu: /usr/bin/x86_64-linux-gnu-ld.bfd

Так что попробуйте переустановить binutils-x86-64-linux-gnu

Другие вопросы по тегам