LINUX.ORG.RU

Сборка пакета съедает всю RAM

 ,


0

3

Всем доброго дня! В вопросе сборки пакетов из исходников пока новичок. Два дня пытаюсь собрать на арче LibreWolf из AUR. проблема в том, что через час сборки вся оперативка (16Гб) «съедается» под ноль и терминал вылетает с сообщением, что ядро линукс завершило процесс из-за нехватки памяти. Попытки найти информацию в сети пока безрезультатны.


Ответ на: комментарий от Merionet

Ну я примерно в этом направлении двигался. В процессе сборки htop показывал все четыре потока у проца на 100%. Попробовал добавить в сам PKGBUILD в секцию build export MOZ_PARALLEL_BUILD=2. Но при сборке после этого наблюдал все-равно все четыре потока загруженных. Очевидно, чего-то не понимаю

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

Чем больше потоков, тем больше будет есть компилятор, тебе нужно уменьшить их количество.

При линковке с lto не поможет, линковщик - один (процесс), и он весь статический блоб от rust пытается запихать в память.

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

Глянь в пкгбилде # options for ci / weaker build systems Если фейлит на этапе линковки, обычно это в конце сборки происходит, выключи лто. Интересно, какие-такие патчи тебе понадобились, что ты рискнул собрать целый браузер?

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

Thin не очень много жрёт, обычно его юзают.

firefox/librewolf по умолчаню собирается c -flto=thin, и при линковке выжирает 16+ гигов (проверял, когда собирал 130+/-2 версит). Это один процесс, вне зависимости от количества потоков.

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

Думаю, это ориентировано если не на -j1, то на какое-то число, которое они посчитали «стандартным» для юзеров, типа -j4, скорее всего. А ТС, видимо, с -j16 запускал, вот и не хватило.

CrX ★★★★★
()

Два дня пытаюсь собрать на арче LibreWolf из AUR

Как выше уже отметили, AUR это не только сорцы, но и бинарные пакеты. В данном случае librewolf-bin.
Тем более, ты «пока новичок».

Так же, есть несколько неофициальных реп (например, Chaotic-aur), которые собирают пакеты из исходников и выкладывают уже бинарники.

krasnh ★★★★★
()
Последнее исправление: krasnh (всего исправлений: 3)
Ответ на: комментарий от nicholas_ru

Я о такой не слышал потому что

O_o

Ну в общем-то это форк Firefox, с небольшими изменениями с целью сделать его несколько более «свободным» по умолчанию. Вроде самый известный форк лисицы…

Собирается так же, как и собственно Firefox.

Вообще мало какой софт требует таких ресурсов и времени для сборки. Помимо браузеров это, наверное, только LibreOffice из того, что не какое-то совсем нишевое. Ну может ещё DE какие, про них не знаю.

Тебе правильно говорят. Подкючи swap.Сначала создай, а потом подключи командой swapon.

А это уже не мне ;)

А так, свап — это, конечно, вариант, но для начала всё же хотелось бы подробностей о том, как собирается. По идее, сборка где-то 10–12 ГБ в пике хавает, так что должно хватать. Но возможно, всё дело в каком-нибудь -j16. Если уменьшить количество jobs, потребление памяти тоже должно значительно уменьшиться.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 3)
Ответ на: комментарий от CrX

swap использовали, пока не появился zram, встроенный в ядро. Размер Swap большим смылса особого нет. 2-4 Гига. А можно даже меньше.

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 2)

Можно попробовать поменять линкер на gold и т.п. и ещё там есть доп. флаги чтобы отключить маппинг в RAM. Будет медленнее собирать, но меньше жрать RAM. Хотя, может и линкер крешнуиься, гугли в общем.

anonymous
()