как докомпилить пакеты
brothermechanic 26 октября, 2010 - 06:32
Привет всем.
Интересует маленький но важный ответ на вопрос.
Вот, я обновлял мир, обновление тормознуло на 675 из 683 - ошибка компиляции одной программы,
но она не очень-то нужна и от нее ничего не зависит,
вопрос в том - как докомпилить оставшиеся несколько пакетов,
или как хотябы узнать какие именнно?
Спасибо
»
- Для комментирования войдите или зарегистрируйтесь
emerge --resume
emerge --resume --skip-first
так чтоли
Чтобы в дальнейшем не
Чтобы в дальнейшем не сталкиваться с такой проблемой, запускайте команду обновления с опцией --keep-going или просто добавьте её в /etc/make.conf:
Я ♥ Gentoo & Funtoo
Lupo Alberto
которая, ЕМНИП есть в тестовой версии portage.
Проверил бы хоть. Есть уже в
Проверил бы хоть. Есть уже в стабильном.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
а еще хорошо бы пользоваться
а еще хорошо бы пользоваться документацией!!!
например,
man emerge
илиemerge --help
...
а еще по этому поводу вопрос такой. как обновить мир, собрав сперва бинарные пакеты, а уже потом из бинарных обновить систему?
скрытный секс :)
man emerge
Я ♥ Gentoo & Funtoo
а как мир обновляете? я
а как мир обновляете?
я emerge -NuD @world
про эти опции в курсе, только он вот что отвечает:
!!! --buildpkgonly requires all dependencies to be merged.
!!! Cannot merge requested packages. Merge deps and try again.
скрытный секс :)
Запустил emerge -uDNvB
Запустил
всё работает.
Возможно, это связано с наличием опции
grep EMERGE /etc/make.conf EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going"
Я ♥ Gentoo & Funtoo
нет. все равно не хочет.
нет. все равно не хочет. можете показать emerge --info?
скрытный секс :)
.
Если вопрос про обновление мира, то при устранении проблем компиляции с пакетом вызвавшем ошибку (как то, убрать его из world, установить опцию skipfirst, замаскировать новую версию, и т.п.) обновление мира продолжится и уже собранные пакеты повторно собираться не будут.
При повсеместном (по умолчанию) использовании --keep-going возможны проблемы, когда ошибка сборки произойдет в пакете, от которого зависит целая взаимная группа. Тогда она продолжится собираться со старым пакетом, и всё это или не заработает, или при устранении проблем в сбойном пакете приведет к повторной пересборке всей группы.
При использовании buildpkgonly, как указано в man и выдержка чего приведена в данном обсуждении, необходимо, чтобы в системе были установлены все пакеты, от которых зависят устанавливаемые/обновляемые. Это имеет смысл только при пересборке мира, для установки системы из бинарных пакетов на компьютере, для которого хочется например заменить набор CFLAGS. (другая архитектура, а состав пакетов прежний).
В случае, если хочется обновляться только на атомарный набор (сборка всего набора произошла успешно), то могу посоветовать такую схему. В стороне разворачивается дубликат имеющейся в наличии системы (1 раз), монтируется и чрутится в соответствие с хендбуком (каждый раз), там производится обновление системы с формированием бинарных пакетов. Далее (в завершении), если не возникло проблем, обновляется мир рабочей системы из полученных бинарных пакетов. (Данный путь тоже не лишен сюрпризов, но если интересно, могу поделиться)
PS. Для дублицирования системы, ее там устанавливать (компилировать) нет необходимости, а нужно снять копию уже имеющейся.
Kevol написал(а):При
Не болтайте ерундой. В этой самой, как вы назывете,"целой взаимной группе", в зависимостях указываются ограничения версий пакета, от которого она зависит. Соотв., если ей нужен именно этот (несобравшийся) пакет - группа даже не будет пытаться емержиться, а если группу устраивает уже установленная версия этого пакета - дык и говорить не о чем, всё нормально соберётся, и почему же в таком случае "всё это или не заработает"?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
.
1. emerge при keep-going в случае сбоя сборки пакета делает перерасчет состава пакетов для сборки?
2. Если набору (а это часто) пакетов "пожелалось" иметь новую библиотеку (а часто и сам набор обновляется), а библиотека дала сбой при сборке, и всё это обновилось со старой версией, то могу представить, как озадачится revdep-rebuild после того как пофиксят баг сбойной либы. А такое фиксят очень быстро. Такое положение в большой степени относится к стабильной ветке. Вопрос - стоит ли
молоть воду в ступекомпилировать дважды одно и то же.Kevol написал(а): Вопрос -
такие умозаключения будто речь о перфокартах )))
.
Ну вот. То речь идет об экономии времени, а то и лишняя пересборка никому не мешает :)
В общем, я своё мнение об реализации атомарности обновлений уже высказал, а так же высказал сомнения о пользе keep-going в make.conf.
По п.1 комментариев не последовало. А поведение emerge в этом случае было бы и мне самому интересно, так как предпочитая ручной контроль процесса обновления, использую в случае проблем только skip-first.
PS. Ранее я бэкапировал систему на резервный раздел перед "большими" обновлениям (Часто связанными с пересборкой мира). Это предоставляло возможность отката от "несложившегося" обновления только одной перезагрузкой. Опробовав метод подготовки бинарных пакетов в чруте (для маломощных компьютеров), прихожу к выводу о целесообразности перехода на такой же метод обновления и самого ББ. Вопрос остается только в инструменте формирования списка неявно обновленных пакетов (по командам revdep-rebuild и ему подобных).
Kevol написал(а): emerge при
Да
А что, revdep-rebuild вы запускаете просто так - чтобы система не простаивала?! Сумневаюсь как-то... Скорее (в описываемом вами случае), после очередного синка, и, соотв., обновления мира, ента либа сама собой и съемержится...
Дык о чём это вы?, какое такое дважды?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
...
нет, вопрос куда проще.
желаемый результат заключается в том, чтобы обновляться из бинарных пакетов, скомпиленых на этой же машине. потому как компиляция процесс долговременный.
на примере kde выглядит так. пока компилируется kde, не возможно что либо делать за машиной, потому как отваливается все что только можно. оно и понятно обновление :)
хочется сделать менее заметным сей процесс.
скрытный секс :)
KarpOffHome написал(а):на
это что за раритет у тебя такой?! )) у меня нетбук не тормозит, а у тебя "не возможно что либо делать за машиной" )))
почитай
man make.conf
иman emerge
там есть решения твоей проблемы ;)Тормозов при компиляции у
Тормозов при компиляции у меня нет, а вот проблемы при обновлении КДЕ - регулярно, то в меню ничего нет, то что-то неправильно работает, помогает только перезапуск КДЕ.
ну так это вполне
ну так это вполне естественно. когда ты сидишь под старыми kde, а половина библиотек уже обновились
скрытный секс :)
...
совершенно не поняли суть проблемы. ну да ладно. не удивительно :)
"почитай man make.conf и man emerge там есть решения твоей проблемы ;)" - а вот к примеру какое ...
скрытный секс :)
emerge --info
emerge --info
Я ♥ Gentoo & Funtoo
спасибо
спасибо
вписал EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going"