Вы здесь

GCC не компилирует

После обновления системы престал компилировать 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 это НЕ компилятор -- это сборщик, и выше он Вам говорит, что не может загрузить библиотеку libc.so ДЛя того чтобы узнать что это значит нужно узнать следующее:

1. вывод gcc-config -l
2. что с библотектой по пути обозначенному выше.

P.S. возможно Вам поможет fix_libtool_files.sh

gcc сейчас стоит четвёртый 4.1.1, но никакая другая версия(и эта тоже) не работают, С библиотекой всё впорядке( я даже содержание проверял)
fix_libtool_files.sh пробовал, поправил кое-что, но ничего в итоге не изменилось. тк libc.so принадлежит glibc, то если я его соберу на другом компе и поставлю в систему, это сработает?
_________________
Gentoo Linux - We Use The Power!!!

SLACK

Поставил glibc, собранный на другой машине, но толку от этого никакого. Подскажите что делать? Может быть удалить новый(старый) gcc? Не переустанавливать же систему всю...
_________________
Gentoo Linux - We Use The Power!!!

SLACK

Я удалил все старые версии гцц(оставил 4.1.1) Собрал его на другой машине. Поставил и всё тоже самое((( не не компилирует он нивкакую!
_________________
Gentoo Linux - We Use The Power!!!

SLACK

shell ~ # cat /etc/ld.so.conf
# ld.so.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
/usr/local/lib
/usr/lib/opengl/nvidia/lib
/usr/i686-pc-linux-gnu/lib
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1
/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/
/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/native_threads/
/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/client/
/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/server/
/usr/games/lib

Стоит binutils-2.16.1-r3

Цитата:
libc-2.4.so в порядке? (проверьте с помощью file)
Как давно вы обновляли систему? Портежи в актуальном состоянии?

libc-2.4.so проверял выше
Систему обновлял где то 2 недели назад. Всё началось после этого обновления. После этого портежи не обновлял(всеравно ничего не собирается)

SLACK

libc-2.4.so находится в каталоге /lib Который не указан в переменной LD_PATH (т.е. сборщик пытается его найти и не может, т.к. не знает где искать). Чтобы добавить туда этот путь, надо его прописать в /etc/env.d
У меня например так:

localhost env.d # cat 04multilib
LDPATH="/lib:/usr/lib:/usr/local/lib:/lib32:/usr/lib32:/usr/local/lib32:/lib64:/usr/lib64:/usr/local/lib64"

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, которые после пересборки glibc не распознают старый скрипт ld.
Просто выполните binutils-config -l
и активируйте последний профиль (у меня [2])
binutils-config 2

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 sdelal binutils-config 1 --x86
Spasibo Bolshoe!
_________________
Gentoo Linux - We Use The Power!!!

SLACK