Попытка установки завершается ошибкой "configure: error: C++ compiler cannot create executables"
winterheart 30 марта, 2009 - 13:13
Есть несколько причин, и все они связаны с проблемой неправильной установки компилятора GCC.
- Не был правильно обновлен компилятор при обновлении мажорной версии (4.1.x -> 4.3.x), выполните операции по правильному обновлению.
- Был сменен CHOST в make.conf. Запомните, дети! Менять CHOST в make.conf просто так нельзя (есть исключения - с i486 на i686, но и этот процесс не тривиальный)! И уж тем более нельзя с помощью CHOST менять архитектуру с x86 на amd64.
- Из системы был удален компилятор по умолчанию.
Вспомните, что сделали неправильного до ошибки, и следуйте по ссылкам.
(предложено KiberGus)
В случае удаления или порчи gcc попробуйте переключиться на другую версию (если она осталась в слоте), используя gcc-config, либо раздобыть в Tinderbox подходящий для вашей архитектуры бинарный пакет sys-devel/gcc, установить его и тем самым починить систему.
»
- Для комментирования войдите или зарегистрируйтесь
В случае удаления или порчи
В случае удаления или порчи gcc следует попробовать переключиться на другую версию, если она установленна в системе, используя gcc-config, либо раздобыть подходящий для вашей архитектуры бинарный пакет gcc, установить его и тем самым починить систему.
----------------
Стоит перенести в отдельный вопрос, но я не могу их создавать. Просьба модераторам либо удалить дальнейшее из моего поста, либо перенести в отдельную страницу подшивки.
Я удалил/сломал системный пакет и теперь gentoo не грузится, неужели переустанавливаться?
Нет, можно воспользоваться возможностью portage устанваливать пакеты не в корневую систему. Изначально эта функция предназначалась для сборки минималистичных версий gentoo и для кросскомпиляции, однако сгодится и в такой ситуации.
Грузимся с LiveCD или любого работоспособного линукса (с подходящей архитектурой, для починки x86_64 дистрибутива надо грузиться с x86_64 системы).
Качаем stage3 и распаковываем в сторонке, по желанию можете воспользоваться работающим дистрибутивом gentoo у товарища.
Монтируем корневую ФС убитого дистрибутива в каталог, расположенный внутри распакованного stage3, например в mnt/broken
Говорим emerge ставить пакеты внутрь сломанного дистрибутива:
Пакет будет установален по всем правилам, с записью в world (если не была указана -1) и т.п.
Поправил этот вопрос и
Поправил этот вопрос и добавил новый: http://www.gentoo.ru/node/14486
Хотя, решение несколько неидеально и не учитывает некоторых моментов насчет работоспособности убитой системы (можно ли зачрутиться, сделать emerge etc), но лучше обсуждать уже там
Не грусти, товарищ! Всё хорошо, beautiful good!
"В случае удаления или порчи
"В случае удаления или порчи gcc следует попробовать переключиться на другую версию, если она установленна в системе, используя gcc-config..."
ламерский вопрос, но при gcc-config --help функции для переключения версий я не увидел...
gcc-config --list-profiles
[1] x86_64-pc-linux-gnu-4.3.4 *
[2] x86_64-pc-linux-gnu-4.4.3
как переключиться?
:)
Та что слева - типа нумерации.
И внимательно читать вывод.
Цитата: Запомните, дети!
Не потому ли ссылка на официальное руководство не прошла цензуры? :)
:wq
--
Live free or die
Вообще-то она там есть.
Вообще-то она там есть.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
.
Ту же ошибку (
configure: error: C++ compiler cannot create executables
) можно получить и с вполне рабочим компиллятором на этапе установки, в случае указания некорректного значенияCFLAGS
вmake.conf
(на непривычном терминале вероятность события не равна нулю).:wq
--
Live free or die