Уважаемые пользователи Linux!
Очень нужна ваша помощь!
У меня возникла проблема с gcc. При попытке компиляции я получаю сообщение об ошибке,
которое приведено в теме.
По данным с http://gcc.gnu.org/onlinedocs/gccint/Collect2.html :
The program collect2 is installed as ld in the directory where the passes of the compiler are installed. When collect2 needs to find the real ld, it tries the following file names:
- real-ld in the directories listed in the compiler's search directories.
- real-ld in the directories listed in the environment variable PATH.
- The file specified in the REAL_LD_FILE_NAME configuration macro, if specified.
- ld in the compiler's search directories, except that collect2 will not execute itself recursively.
- ld in PATH.
Линкер установлен и расположен в одной из директорий в PATH:
code:
decart@decart_22:10:~$ echo $PATH
/home/decart/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
decart@decart_22:11:~$ whereis ld
ld: /usr/bin/ld /usr/X11R6/bin/ld /usr/bin/X11/ld /usr/share/man/man1/ld.1.gz
При этом под рутом компляция проходит без проблем. PATH для рута такая же. (исключая
/home/decart/bin)
С чем все это может быть связано? М.б. как-нибудь можно проследить что именно делает collect2 ? (т.е. как она ищет линкер?)
Спрашивал у Гугла. Сообщений об этой ошибке много, но полезных советов не обнаружил.