После обновления системы престал компилировать gcc. Пробовал разные версии. В инете нашел подобные проблемы, но без решения(
/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/../../../../i686-pc-linux-gnu/bin/ld:/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/../../../libc.so: file format not recognized; treating as linker script /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/../../../../i686-pc-linux-gnu/bin/ld:/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/../../../libc.so:5: syntax error collect2: ld returned 1 exit status
И еще: при обновлении(вроде glibc) 2 раза была ошибка internal compiler error. Но потом всё собралось. Память проверил, всё хорошо.
ld это НЕ
ld это НЕ компилятор -- это сборщик, и выше он Вам говорит, что не может загрузить библиотеку libc.so ДЛя того чтобы узнать что это значит нужно узнать следующее:
1. вывод gcc-config -l
2. что с библотектой по пути обозначенному выше.
P.S. возможно Вам поможет fix_libtool_files.sh
gcc сейчас стоит
gcc сейчас стоит четвёртый 4.1.1, но никакая другая версия(и эта тоже) не работают, С библиотекой всё впорядке( я даже содержание проверял)
fix_libtool_files.sh пробовал, поправил кое-что, но ничего в итоге не изменилось. тк libc.so принадлежит glibc, то если я его соберу на другом компе и поставлю в систему, это сработает?
_________________
Gentoo Linux - We Use The Power!!!
SLACK
Поставил glibc,
Поставил glibc, собранный на другой машине, но толку от этого никакого. Подскажите что делать? Может быть удалить новый(старый) gcc? Не переустанавливать же систему всю...
_________________
Gentoo Linux - We Use The Power!!!
SLACK
Я удалил все
Я удалил все старые версии гцц(оставил 4.1.1) Собрал его на другой машине. Поставил и всё тоже самое((( не не компилирует он нивкакую!
_________________
Gentoo Linux - We Use The Power!!!
SLACK
shell ~ # cat
Стоит binutils-2.16.1-r3
libc-2.4.so проверял выше
Систему обновлял где то 2 недели назад. Всё началось после этого обновления. После этого портежи не обновлял(всеравно ничего не собирается)
SLACK
libc-2.4.so
libc-2.4.so находится в каталоге /lib Который не указан в переменной LD_PATH (т.е. сборщик пытается его найти и не может, т.к. не знает где искать). Чтобы добавить туда этот путь, надо его прописать в /etc/env.d
У меня например так:
V fajle /etc/env.d/00basic
V fajle /etc/env.d/00basic yka3al v LDPATH direktoriyu /lib, sdelal env-update no ne pomoglo. K tomuje echo $LDPATH nichego ne vyvodit. Pereustanovil gcc-config i ustanovil libstdc++-v3(ranshe ne stoyalo) no i eto ne pomoglo.
P.S. Izvinite xa translit.
SLACK
Все дело в binutils!!
Все дело в binutils, которые после пересборки glibc не распознают старый скрипт ld.
Просто выполните binutils-config -l
и активируйте последний профиль (у меня [2])
binutils-config 2
U menya tolko odin
U menya tolko odin profil
#binutils-config -l
[1] i686-pc-linux-gnu-2.16.1
#binutils-config -c
i686-pc-linux-gnu-2.15.92.0.2
SLACK
URA!!! Vso zarabotalo! Ya
URA!!! Vso zarabotalo! Ya sdelal binutils-config 1 --x86
Spasibo Bolshoe!
_________________
Gentoo Linux - We Use The Power!!!
SLACK