LINUX.ORG.RU

Gentoo, portage не устанавливает собранные пакеты, если включена опция -j 4

 ,


0

2

Много времени потратил. Устанавливаю новую систему на новых stage3, arm64, и вот при пересборке world собрало около 100 пакетов, на mysql повисло. И так пару раз. Обратил внимание, что пакеты просто собираются, но не инсталируются. Пример на ffmpeg

>>> Emerging (1 of 50) media-fonts/liberation-fonts-2.1.5::gentoo
>>> Emerging (2 of 50) dev-libs/serd-0.32.2::gentoo
>>> Emerging (3 of 50) media-libs/opus-1.5.2::gentoo
>>> Emerging (4 of 50) dev-python/six-1.16.0-r1::gentoo
>>> Emerging (5 of 50) media-libs/codec2-1.2.0::gentoo
>>> Emerging (6 of 50) app-arch/snappy-1.1.10-r1::gentoo
>>> Emerging (7 of 50) media-libs/x265-3.5-r3::gentoo
>>> Emerging (8 of 50) app-accessibility/flite-2.2-r2::gentoo
>>> Emerging (9 of 50) media-libs/game-music-emu-0.6.3::gentoo
>>> Emerging (10 of 50) media-libs/libaom-3.8.1::gentoo
>>> Emerging (11 of 50) media-video/rtmpdump-2.4_p20161210-r3::gentoo
>>> Emerging (12 of 50) media-libs/openal-1.23.1-r1::gentoo
>>> Emerging (13 of 50) net-libs/libssh-0.10.6::gentoo
>>> Emerging (14 of 50) media-libs/libvpx-1.13.1-r1::gentoo
>>> Emerging (15 of 50) media-gfx/graphite2-1.3.14_p20210810-r3::gentoo
>>> Emerging (16 of 50) media-libs/libpng-1.6.43::gentoo
>>> Emerging (17 of 50) dev-python/pyparsing-3.1.2::gentoo
>>> Emerging (18 of 50) dev-python/fastjsonschema-2.20.0::gentoo
>>> Emerging (19 of 50) dev-python/lark-1.1.9::gentoo
>>> Emerging (20 of 50) dev-python/webencodings-0.5.1-r2::gentoo
>>> Emerging (21 of 50) app-eselect/eselect-fontconfig-20220403::gentoo
>>> Emerging (22 of 50) media-libs/libvorbis-1.3.7-r1::gentoo
>>> Emerging (23 of 50) media-sound/lame-3.100-r3::gentoo
>>> Emerging (24 of 50) dev-libs/zix-0.4.2::gentoo
>>> Emerging (25 of 50) dev-libs/fribidi-1.0.13::gentoo
>>> Emerging (26 of 50) media-libs/libiec61883-1.2.0-r2::gentoo
>>> Emerging (27 of 50) sys-libs/libavc1394-0.5.4-r2::gentoo
>>> Emerging (28 of 50) media-libs/libv4l-1.22.1::gentoo
>>> Emerging (29 of 50) media-libs/libmodplug-0.8.9.1::gentoo
>>> Emerging (30 of 50) media-libs/libsdl2-2.28.5-r1::gentoo
>>> Emerging (31 of 50) media-libs/speex-1.2.1-r2::gentoo
>>> Emerging (32 of 50) net-libs/srt-1.5.1::gentoo
>>> Emerging (33 of 50) media-libs/flac-1.4.3::gentoo
>>> Jobs: 0 of 50 complete, 7 running               Load avg: 14.7, 17.5, 19.7
И если прервать, естественно, ничего не установится. Как то это неправильно, мягко говоря. Опция -b у емержа точно не включена. Если убрать опцию -j4x, то собирает и сразу инсталирует. Раньше точно сразу после сборки инсталировало, при опции -j 4.

Это нововведение какое или что?

★★★★★

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

опять многопокпочный потенциал не раскрылся, да что же такое

там ещё часть пакетов собирается в один поток что не указывай, иначе ошибка

однопоточные автотулзы вообще само собой

anonymous
()

Попробуй просто --jobs без указания количества.
Вообще пакеты после сборки ждут очереди на установку. Возможно, у тебя что-то заблокировало установку и все собранные пакеты встали в очередь

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

Оно обрывается при попытке собрать mysql и он забывает их установить. А ещё зависает иногда. Много времени тратитсяя впустую, заново опять кучу пакетов собирать. Такого не должно быть. Пакеты должны инсталироваться, а не ждать часами в очереди.

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

Про зависания я тебе уже всё сказал. А про ошибки сборки пробуй использовать --keep-going y. В случае сбоя при сборке одного из пакетов, он продолжит собирать остальные.

u5er
()
Последнее исправление: u5er (всего исправлений: 1)
Ответ на: комментарий от utanho

Через пробел указывается количество пакетов, которые портаж будет собирать одновременно. Без пробела - количество используемых потоков при сборке.

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

Пакеты должны инсталироваться, а не ждать часами в очереди

Не в генте.

Если хотите чтобы каждый пакет устанавливался сразу после его сборки, то советую например CRUX, тут такое поведение.

vbcnthfkmnth123 ★★★★★
()

Это нормальное поведение портажа при использовании -j больше единицы (или без числа вовсе), собирает кучу пакетов а потом их ставит скопом. loadavg у тебя 14.7, 17.5, 19.7, значит сборка чего-то ещё не закончена. «7 running» тоже намекает на это.

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

сколько раньше не собирал, всегда собрало-поставило. А тут проблемный пакет, ошибка и всю кучу неустановленного заново. Это нерациональное и неправильное поведение, нужно ставить, а не ждать ошибок.

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

фичу прописать надо не забыть. ну и не сделать rm -rf /var/tmp/portage/*, как написано в хендбуке, когда сборка падает.

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

Если прописана сборка бинаря, то он будет лежать не в /var/tmp/portage, а в PKGDIR

П.С. можно еще указать

BINPKG_COMPRESS=«ваш любимый архив»

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