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