[SOLVED] Не пересобирается GCC

При пересборке gcc версии 4.6.3 на этапе конфигурирования выдаётся ошибка

checking for the correct version of the gmp/mpfr/mpc libraries... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

Погуглив, нашел совет сделать revdep-rebuild --library libgmp.so.3 и удалить эту либу. revdep-rebuild не нашел ни одной программы, которая бы её использовала, но удалив (переместив) библиотеку, я получил другую ошибку:

C compiler cannot create executables

Нашел совет сделать ссылку с именем libgmp.so.3 на libgmp.so.10.0.2 - вернулась первая ошибка (про несоответствие версий). Тоже самое и с libmpfr.so.1 (ссылку делаю на libmpfr.so.4.1.1). Т.е. если этих двух файлов нет (или хотя бы одного из них), то ругается C compiler cannot create executables, если оба присутствуют (хоть реальные, хоть в виде ссылок) - ругается на несоответствие версий. Пробовал переключать версию компилятора на 4.5.3 - всё тоже самое.

Известно популярное

Известно популярное заблуждение, что результаты поиска способны заменить самостоятельное мышление и необходимость понимания ЧТО ты делаешь и что ожидаешь получить в результате своих действий.

:wq
--
Live free or die

Если у тебя еще хоть что

Если у тебя еще хоть что компилируется, то пробуй сначала:

# emerge -eD gcc

Долго, но зато надёжно.

Вам же ясно написали, что нет

Вам же ясно написали, что нет зависимостей для сборки gcc, скорее всего, если судить о том, как вы смело удаляете (перемещаете) библиотеки вы удалили часть пакетов из system.

Установите:

emerge -av1 dev-libs/gmp dev-libs/mpfr dev-libs/mpc
revdep-rebuild

Да работает gcc, работает.

Да работает gcc, работает. Эти файлы заменяются символьными ссылками без проблем и gcc работает. Да и сами файлы никуда не делись, я ж их всего то переименовал. Но если их восстановить (хоть ссылками на новые версии, хоть родными файлами) возвращается первая проблема:

checking for the correct version of the gmp/mpfr/mpc libraries... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

Либы dev-libs/gmp, dev-libs/mpfr и dev-libs/mpc пересобирал - ничего это не даёт. Первая проблема как была, так и остаётся.

qlist -IcC dev-libs/gmp

qlist -IcC dev-libs/gmp dev-libs/mpfr dev-libs/mpc

Там всё нормально с версиями.

Там всё нормально с версиями. Это первое, что проверил (думал, может нужно просто размаскировать более свежие, как это часто бывает):

dev-libs/gmp 5.0.2_p1
dev-libs/mpc 0.8.2
dev-libs/mpfr 3.1.1

Покажите команду, которой вы

Покажите команду, которой вы пересобираете gcc .

Вы случаем не меняли архитектуру в make.conf ?

Нет, make.conf не трогал.

Нет, make.conf не трогал. Изначально пересобирал через emerge -avuDN world, разбираясь с проблемой заменил команду на emerge -av1 =sys-devel/gcc-4.6.3 (так быстрее).

revde-rebuild запускали ?

revde-rebuild запускали ? Читали выводы, которые даёт emerge после каждого пакета ?

Просмотрите:
less /var/log/portage/elog/summary.log

revdep-rebuild ничего,

revdep-rebuild ничего, связанного с gcc или этими либами, не находит (только firefox, эту проблему я описывал тут, так и не решил).

О выводе каких именно пакетов вы говорите? Библиотек или gcc?

Вот выводы библиотек:

 * Messages for package dev-libs/gmp-5.0.2_p1:

 * Old versions of installed libraries were detected on your system.
 * In order to avoid breaking packages that depend on these old libs,
 * the libraries are not being removed.  You need to run revdep-rebuild
 * in order to remove these old dependencies.  If you do not have this
 * helper program, simply emerge the 'gentoolkit' package.
 * 
 *   # revdep-rebuild --library '/usr/lib64/libgmp.so.3' && rm '/usr/lib64/libgmp.so.3'

 * Messages for package dev-libs/mpfr-3.1.1:

 * Old versions of installed libraries were detected on your system.
 * In order to avoid breaking packages that depend on these old libs,
 * the libraries are not being removed.  You need to run revdep-rebuild
 * in order to remove these old dependencies.  If you do not have this
 * helper program, simply emerge the 'gentoolkit' package.
 * 
 *   # revdep-rebuild --library '/usr/lib64/libmpfr.so.1' && rm '/usr/lib64/libmpfr.so.1'

Т.е. portage говорит мне сделать то, что я и так делал. После этого gcc умер. Хотя revdep-rebuild --library '/usr/lib64/libgmp.so.3' и revdep-rebuild --library '/usr/lib64/libmpfr.so.1' ничего не нашли (значит удалять как бы можно).

Просмотрите все выводы,

Просмотрите все выводы, которые были с того момента как вы запустили первый раз emerge -auvDN world, при котором у вас возникла проблема сборки gcc.

Сделайте то, что советует emerge, а именно скопируйте указанные строки команд и вставьте в терминал, как есть.

Кажется, получилось. Только

Кажется, получилось. Только вот что я сделал? Я ж уже делал так... Ну да ладно. Повторная пересборка библиотек и удаление старых версий файлов дало результат. Всем спасибо.

Где вы нашли в выводе emerge

Где вы нашли в выводе emerge указание создавать символьную ссылку и куда вы перемещали файлы библиотек ?

Файлы библиотек я перемещал в

Файлы библиотек я перемещал в /root, после этого gcc не работал. А совет про ссылки был на одном англоязычном форуме (типа как восстановить работоспособность gcc, если удалить эти файлы). Работоспособность восстанавливалась, но проблема оставалась.

Значит revde-rebuild всё же

Значит revde-rebuild всё же что-то делал. Подъитожим: всегда читайте вывод emerge и следуйте рекомендациям.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".