LINUX.ORG.RU

Сборка chromium на gentoo

 ,


0

2

У меня один раз получилось собрать. В 1 поток и это заняло 5 дней. В 3 потока не хватает оперативки в некоторых моментах. Можно ли как то ставить на паузу или как вообще возобновлять в случае неудачи чтобы он не компилировал заново всё это.А то пока соберёт уже устареет

emerge ccache

А вообще у меня на 32 ядрах и 128 потоках это занимает ~40 минут и ~40гб оперативки, из 128. Правда у меня в tmpfs всё собирается.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

А в чем фетиш собрать chromium? Какие-то опции нестандартные нужны?

Почему не заюзать, например, готовый ungoogled-chromium из appimage?

Chord ★★★★
()

Настроить ccache, тогда если зафейлилось, вместо компиляции возьмет часть файлов с кеша.

ymuv ★★★★
()
Ответ на: комментарий от gefyodomla

emerge --resume это не про то. Это если у тебя несколько ебилдов собирается и ты прервал обновление, тогда стартанёт с того на котором прервал. Но начнёт его сначала. Тебе нужен ccache.

Jameson ★★★★★
()
Ответ на: комментарий от Zhbert

Хотя насчет первого не уверен. Вполне возможно, что оно просто продолжает, если пакетов куча, а не по одному пакету идет.

Zhbert ★★★★★
()

Можно пробовать продолжить компиляцию, обычно нормально работало, если за это время в системе ничего не обновилось:

ebuild /usr/portage/www-client/chromium/chromium-97.0.4682.3.ebuild compile
потом install и merge.

Но только число потоков не поменять, настройки из /etc/portage/ применяются на предыдущей стадии.

Ну и не знаю насколько актуально, но раньше jumbo_file_merge_limit помогало https://forums.gentoo.org/viewtopic-t-1074724-start-0.html

mky ★★★★★
()
Ответ на: комментарий от Zhbert

оно просто продолжает, если пакетов куча, а не по одному пакету идет

This

Jameson ★★★★★
()
Ответ на: комментарий от mky

Это может помочь, да, так как при повторном запуске фазы compile напрямую руками дерево исходников не чистится, соответственно то что уже собралось скипнется. Но это прям ваще хардкор и не поможет если ты сборку своего ебилда отлаживаешь и что то фиксишь в процессе.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

ваще хардкор

А компилить хромого на 6 Гб ОЗУ не хардкор? :)

Если фиксить прямо в распакованном исходнике и собирать make'ом или чем подобным, то от редактирования временные метки файлов изменятся и make разберётся, что пересобрать.

mky ★★★★★
()
Ответ на: комментарий от gefyodomla

Я не знаю, попробуй. Вообще то пишут что это внутренний параметр и не нужно его самостоятельно форсировать, да и не нужно мне. Пробуй и узнаешь.

Jameson ★★★★★
()

А как же void? Зачем уходил на ленту с тремя потоками и 6 гигами рамы, мазохист штоле?

Keltir
()
Ответ на: комментарий от mky

А компилить хромого на 6 Гб ОЗУ не хардкор? :)

Хардкор :) Причём смысла особого нет, зонды в хромиуме всё равно есть, а синхронизации с гуглем нет, так что лично мне непонятно почему не бинарный хром. Его компилить не надо.

Если фиксить прямо в распакованном исходнике и собирать make'ом или чем подобным, то от редактирования временные метки файлов изменятся и make разберётся, что пересобрать.

Да, так, но потом это всё в виде патча надо оформлять и накладывать начиная с фазы распаковки, так что ccache всё равно пригодится.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

Кстати, TS, осиль ещё zram и твои 6гб ОЗУ по ощущениям превратятся в 12. Я не шучу, просто попробуй и сравни ощущения.

Jameson ★★★★★
()

ebuild /path/to/www-client/govnomium/govnomium-...ebuild merge продолжит сборку после отвала (с хромогом правда не пробовал)

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Не продолжит ЕМНИП, так как ты его с qmerge попутал. Фазы compile и install автоматически не отработают и будет нечего merge.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Нет, это ты его перепутал
qmerge производит устантвку в систему и требует уже выполненнгого install, после этого не удаляет сборку
merge - сделает install и всё что до него, после чего сделает qmerge и удалит из /var/tmp
Я использую qmerge соответственно когда планирую проверить результат и ещё возможно что-то подправить в build tree. Например когда готовлю патч, в этом случае приходится делать install самостоятельно

mittorn ★★★★★
()
Ответ на: комментарий от gefyodomla

Вообще если фаза compile начинается - должно продолжать, если перед этим распакованное дерево исходников не сносилось портажем. Там будет сначала конфигурирование, а потом пойдёт сборка. Та часть что перед этим запуском уже собралась и была прервана пролетит быстро, так как объектные файлы уже в дереве валяются. А вот если перед сборкой система конфигурирования очищает дерево - не прокатит, да. Но прокатит ccache, так как блобы будут в кеше лежать, а не в дереве.

Jameson ★★★★★
()

Ставь chromium из flatpak

Gary ★★★★★
()
Ответ на: комментарий от Zhbert

Resume запустит сборку заново, а с ccache будет в первый раз собираться дольше, но последующие ч орки или перезапуск будут собираться быстрее Как пишут, нужно вызвать ebuild пакет.ebuild compile, но можно и сразу merge вместо compile - все равно проверяется,что уже выполнено.

grem ★★★★★
()
Ответ на: комментарий от Chord

Ага. Но ни сендбокса, ни даже гарантии что он у тебя запустится нет.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Кстате, тут затянул от тебя полкит 120 в локальный оверлей. На одной машине просто сделал дайджест и 0.120 собрался из локального.

А на другой машине (слепок с первой) после добавления в оверлей дайджест какого-то хрена потянул полкит с гентушного сервера и попытался установить непатченный polkit::gentoo. Так и не хочет с локального устанавливать 0.120, хотя сейчас стоит 0.119 который был с ::myrepo

Что может быть?

Chord ★★★★
()
Ответ на: комментарий от grem

Ты сам попробуй собери теоретик хренов. Архив заново распаковывается и всё затирается. Нету там ни какой проверки.

gefyodomla
() автор топика
Ответ на: комментарий от Jameson

zram вообще ни каким раком не нужен. Я и так могу утилизировать оперативку. Выставить больше объёма грязных данных.

gefyodomla
() автор топика
Ответ на: комментарий от gefyodomla

Компутер твой, моё дело предложить. Но ты бы попробовал всё же, телодвижений то минимум для этого нужно...

Jameson ★★★★★
()
Ответ на: комментарий от Chord

Приоритеты репозиториев? Или в дереве появилась более новая версия чем в моём оверлее. Одно из двух.

Ты всегда можешь прописать ::myrepo к имени пакета при установке.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Системы одинаковые, рсинкнута одна с другой. Соответственно приоритеты одинаковы. Раньше отказывалось ecnfyfdkbdfnmcz из-за отсутствия keyword amd64, а сейчас keyword прописан.

прописать ::myrepo

завтра попробую. Спс.

Chord ★★★★
()

1 поток.. 5 дней...

Надо серьезно думать о том, чтобы хотя бы компилить на другой машине, помощнее. Неужели негде?

Firefox, кстати, будет полегче,
ну и опять же есть -bin варианты для chromium, firefox, libreoffice, rust ...

Sylvia ★★★★★
()

почему ты два своих предыдущих аккаунта бросил?

anonymous
()
Ответ на: комментарий от gefyodomla

Я точно не помню, поэтому пишу compile merge, если сразу ставить нужно.

grem ★★★★★
()
Ответ на: комментарий от gefyodomla

zram в контексте сборки хромиума на генте очень даже нужен:

/dev/zram2 zstd           64G  9,5G  2,6G  2,7G      16 /var/tmp

Это хромой на этапе линковки, 9,5 гб по факту занимают 2,7 гб в памяти. 32 гб оперативки не хватает на сборку в tmpfs (если кол-во потоков не уменьшать), а с zram спокойно собирается.

thorus_dv
()
Ответ на: комментарий от gefyodomla

18 гб, я бы с двух потоков начал (zram тоже использует проц, у меня -j14 на 16 потоках). А что за проц? Может всё же лучше www-client/google-chrome или ungoogled-chromium-bin, чем так мучиться?

О, хромой обновился как раз. Распаковка: https://i.imgur.com/Zjls8MI.png Начало сборки: https://i.imgur.com/fAcWCB4.png Продолжение: https://i.imgur.com/W3jl1iB.png Установка: https://i.imgur.com/LtFpLux.png

Коэфф. сжатия в конце 3,35, даже больше чем заявленный в вики 3:1.

thorus_dv
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.