[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.
Установите:
Да работает gcc, работает.
Да работает gcc, работает. Эти файлы заменяются символьными ссылками без проблем и gcc работает. Да и сами файлы никуда не делись, я ж их всего то переименовал. Но если их восстановить (хоть ссылками на новые версии, хоть родными файлами) возвращается первая проблема:
Либы dev-libs/gmp, dev-libs/mpfr и dev-libs/mpc пересобирал - ничего это не даёт. Первая проблема как была, так и остаётся.
qlist -IcC dev-libs/gmp
Там всё нормально с версиями.
Там всё нормально с версиями. Это первое, что проверил (думал, может нужно просто размаскировать более свежие, как это часто бывает):
Покажите команду, которой вы
Покажите команду, которой вы пересобираете 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?
Вот выводы библиотек:
Т.е. 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 и следуйте рекомендациям.