[freebsd] Ржавый

126 προβολές
Παράβλεψη και μετάβαση στο πρώτο μη αναγνωσμένο μήνυμα

Taras Heichenko

μη αναγνωσμένη,
10 Ιουν 2022, 7:51:52 π.μ.10/6/22
ως Рассылка FreeBSD UA
Hi!
Есть виртуальная машинка с
FreeBSD 12.3-RELEASE r371126 GENERIC amd64
На ней не собирается rust. Всякие make clean, обновления портов и прочие стучания по
колесам и хлопанья багажником не помогают. История заканчивается одинаково

error: build failed
command did not execute successfully: "/usr/ports/lang/rust/work/bootstrap/bin/cargo" "build" "--target" "x86_64-unknown-freebsd" "-Zbinary-dep-depinfo" "-j" "2" "-v" "-v" "--release" "--frozen" "--features" "llvm max_level_info" "--manifest-path" "/usr/ports/lang/rust/work/rustc-1.61.0-src/compiler/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
expected success, got: exit status: 101
Traceback (most recent call last):
File "x.py", line 27, in <module>
bootstrap.main()
File "/usr/ports/lang/rust/work/rustc-1.61.0-src/src/bootstrap/bootstrap.py", line 1324, in main
bootstrap(help_triggered)
File "/usr/ports/lang/rust/work/rustc-1.61.0-src/src/bootstrap/bootstrap.py", line 1310, in bootstrap
run(args, env=env, verbose=build.verbose, is_bootstrap=True)
File "/usr/ports/lang/rust/work/rustc-1.61.0-src/src/bootstrap/bootstrap.py", line 185, in run
raise RuntimeError(err)
RuntimeError: failed to run: /usr/ports/lang/rust/work/_build/bootstrap/debug/bootstrap dist --jobs=2
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/rust
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/rust

При том, что на другой машине (не виртуальной а физической, и с i386 архитектурой) собрался без проблем.
Есть какие-то идеи, что с этим можно сделать?

--
Taras Heichenko
ta...@academ.kiev.ua

_______________________________________________
freebsd mailing list
fre...@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd

Andrii Zarechanskyi

μη αναγνωσμένη,
10 Ιουν 2022, 8:00:26 π.μ.10/6/22
ως Taras Heichenko, Рассылка FreeBSD UA
Hi, 

Додати більше RAM або swap до VM?
Тут валилось на 6G RAM та пройшло з 10G RAM: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245759 

George L. Yermulnik

μη αναγνωσμένη,
10 Ιουν 2022, 8:06:38 π.μ.10/6/22
ως fre...@uafug.org.ua
Hello!

On Fri, 10 Jun 2022 at 14:50:59 (+0300), Taras Heichenko wrote:

> Hi!
> Есть виртуальная машинка с
> FreeBSD 12.3-RELEASE r371126 GENERIC amd64
> На ней не собирается rust. Всякие make clean, обновления портов и прочие стучания по
> колесам и хлопанья багажником не помогают. История заканчивается одинаково

Вряд ли моё сообщение сильно поможет, но 101 у раста - это паника.
Есессно, может произойти из-за чего угодно, но поддержу Зорика - первым
делом попробовать памяти дать виртуалке больше.

> --
> Taras Heichenko
> ta...@academ.kiev.ua

--
George L. Yermulnik
[YZ-RIPE]

Eugene Grosbein

μη αναγνωσμένη,
10 Ιουν 2022, 8:10:20 π.μ.10/6/22
ως Taras Heichenko, Рассылка FreeBSD UA
10.06.2022 18:50, Taras Heichenko пишет:

Памяти много? Нет ничего подозрительного в dmesg?
Оно у тебя ругается на ошибку запуска /usr/ports/lang/rust/work/_build/bootstrap/debug/bootstrap
который генерируется в процессе сборки порта и являет собой огромный бинарник.

Taras Heichenko

μη αναγνωσμένη,
10 Ιουν 2022, 8:15:47 π.μ.10/6/22
ως Eugene Grosbein, Рассылка FreeBSD UA
Hi!
Всем спасибо за указание направления. Да, в dmesg rustc – out of swap space. Понятно, по крайней мере, что
нужно делать. Дальше разберусь. Спасибо.

--
Taras Heichenko
ta...@academ.kiev.ua

Anton Saietskii

μη αναγνωσμένη,
10 Ιουν 2022, 8:32:55 π.μ.10/6/22
ως Andrii Zarechanskyi, Taras Heichenko, Рассылка FreeBSD UA
Мда, "нетекущий" ржавый жрёт памяти на порядки больше, чем безб-жно текущий С...

Taras Heichenko

μη αναγνωσμένη,
11 Ιουν 2022, 5:42:43 π.μ.11/6/22
ως Рассылка FreeBSD UA

> On 10 Jun 2022, at 15:32, Anton Saietskii <vsas...@gmail.com> wrote:
>
> Мда, "нетекущий" ржавый жрёт памяти на порядки больше, чем безб-жно текущий С...

Сорри, за дурацкий вопрос – давно не пользовался pkg для установки чего-либо. А может
кто-то объяснить, а почему команда

pkg install rust
предлагает удалить вот такой список пакетов (вопрос собственно не в том, почему список именно
такой, а в том, зачем это все удалять, чтобы поставить rust из пекеджа)?
avahi-app: 0.8
cairo: 1.17.4,3
cups: 2.3.3op2
dbus-glib: 0.112
ghostscript9-agpl-base: 9.55.0
glib: 2.70.4_5,2
gnupg: 2.3.3_3
gnutls: 3.7.4
gobject-introspection: 1.70.0,1
gpgme: 1.17.1
graphviz: 2.50.0
harfbuzz: 4.0.0
mutt: 2.2.3
p11-kit: 0.24.1
pango: 1.50.4
portupgrade: 2.4.16,2
py38-cffi: 1.15.0
py38-cryptography: 3.3.2
py38-openssl: 20.0.1
py38-recommonmark: 0.5.0_2
py38-requests: 2.25.1
py38-sphinx: 4.3.1,1
py38-urllib3: 1.26.8,1
ruby: 2.7.6,1
ruby27-bdb: 0.6.6_8
ruby27-gems: 3.3.7_1
rubygem-psych: 4.0.3
rubygem-rdoc: 6.4.0
rubygem-stringio: 3.0.1
tex-basic-engines: 20210325
tex-web2c: 20210325

Anton Saietskii

μη αναγνωσμένη,
11 Ιουν 2022, 5:45:49 π.μ.11/6/22
ως Taras Heichenko, Рассылка FreeBSD UA
Reply не туда?

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

Le...@lena.kiev.ua

μη αναγνωσμένη,
11 Ιουν 2022, 5:47:17 π.μ.11/6/22
ως Рассылка FreeBSD UA
> давно не пользовался pkg для установки чего-либо. А может
> кто-то объяснить, а почему команда
>
> pkg install rust
> предлагает удалить вот такой список пакетов (вопрос собственно не в том, почему список именно
> такой, а в том, зачем это все удалять, чтобы поставить rust из пекеджа)?

Я не могу объяснить, но
чтобы не удалять, можно вместо pkg isntall использовать
pkg fetch и pkg add.

Eugene Grosbein

μη αναγνωσμένη,
11 Ιουν 2022, 7:21:23 π.μ.11/6/22
ως Taras Heichenko, Рассылка FreeBSD UA
11.06.2022 16:42, Taras Heichenko пишет:

Потому что pkg настаивает на том, чтобы зависимости устанавливаемого пакета
безусловно соблюдались с точностью. Никаких отклонений не допускается.

Например, в пакете rust прописана зависимость от *конкретной* версии пакета curl.
Если у вас curl установлен любой другой версии, pkg попытается удалить curl
и установить пакет curl именно той версии, которая прописана в зависимости
устанавливаемого пакета rust. А так как от curl нынче зависит много всего,
то pkg будет вынужден удалить и всё, что зависит от curl, а так же всё,
что зависит от тех пакетов и так далее, и заменить их на версии из того же репозитория,
откуда ставятся rust и curl.

Иногда поведение pkg можно слегка откорректировать предварительным запретом
удалять какой-нибудь установленный пакет, типа: pkg lock curl-7.73.0
Тогла pkg не будет пытаться снести curl и всё зависимое от него,
но это чревато тем, что целевой пакет хотя и установится, но работать не будет.

Например, установленный пакет даёт /usr/local/lib/libcurl.so.4
а в целевом пакете бинарники слинкованы с другой версией либы и просто не запустятся.
Опять же можно в крайнем случае использовать libmap.conf(5) и заставить их таки запуститься,
но это чревато разнообразными глюками и даже сегфолтами.

Valentin Nechayev

μη αναγνωσμένη,
11 Ιουν 2022, 7:42:32 π.μ.11/6/22
ως Anton Saietskii, Рассылка FreeBSD UA
hi,

Fri, Jun 10, 2022 at 15:32:34, vsasjason wrote about "Re: [freebsd] Ржавый":

> Мда, "нетекущий" ржавый жрёт памяти на порядки больше, чем безб-жно текущий
> С...

Сборка у него, да, дорогая. И статическая линковка требует много
выхлопа. Исполнение полученного финального бинаря может быть таки
дешевле. Но зависит от задачи.


-netch-

Taras Heichenko

μη αναγνωσμένη,
11 Ιουν 2022, 8:20:00 π.μ.11/6/22
ως Eugene Grosbein, Рассылка FreeBSD UA
Спасибо за подробный ответ. Фактически если какой-то пакет не может быть собран локально,
то приходится использовать пекеджи, а не порты. (Ну это конечно если не собрать на другой машине
пекедж под эту архитектуру и зависимости, что тоже может оказаться весьма сексуальным занятием.)
Печально, хотя и логично.
--
Taras Heichenko
ta...@academ.kiev.ua

Eugene Grosbein

μη αναγνωσμένη,
11 Ιουν 2022, 11:58:49 π.μ.11/6/22
ως Taras Heichenko, Рассылка FreeBSD UA
11.06.2022 19:19, Taras Heichenko пишет:

> Спасибо за подробный ответ. Фактически если какой-то пакет не может быть собран локально,
> то приходится использовать пекеджи, а не порты. (Ну это конечно если не собрать на другой машине
> пекедж под эту архитектуру и зависимости, что тоже может оказаться весьма сексуальным занятием.)

Когда то давно могло оказаться. Сейчас уже нет, это всё рутинно и скучно:
ставишь ports-mgmt/poudriere, говоришь ему список пакетов и под какую архитектуру собирать
и он тебе создаёт локальный репозиторий с готовыми пакетами, из которого можно сразу ставить.

Alexey Ugnichev

μη αναγνωσμένη,
13 Ιουν 2022, 7:56:52 π.μ.13/6/22
ως Eugene Grosbein, Taras Heichenko, Рассылка FreeBSD UA
Привет!

On Sat, 11 Jun 2022 at 18:58, Eugene Grosbein <eu...@grosbein.net> wrote:
11.06.2022 19:19, Taras Heichenko пишет:
> Спасибо за подробный ответ. Фактически если какой-то пакет не может быть собран локально,
> то приходится использовать  пекеджи, а не порты. (Ну это конечно если не собрать на другой машине
> пекедж под эту архитектуру и зависимости, что тоже может оказаться весьма сексуальным занятием.)

Когда то давно могло оказаться. Сейчас уже нет, это всё рутинно и скучно:
ставишь ports-mgmt/poudriere, говоришь ему список пакетов и под какую архитектуру собирать
и он тебе создаёт локальный репозиторий с готовыми пакетами, из которого можно сразу ставить.

Присоединюсь, 'poudriere' хоть на мой вкус и не сильно гибок (в «стабильной» версии из портов, говорят в девелопмент бранче трошки больше фич, не пробовал ещё), но собирать пекеджи под весь свой зоопарк на выделенном сервере им довольно удобно. Ну и собирается всё в джейлах, поэтому отсутствие гибкости более-менее решаемо на уровне джейлов же.

Anton Saietskii

μη αναγνωσμένη,
13 Ιουν 2022, 8:34:59 π.μ.13/6/22
ως Alexey Ugnichev, Taras Heichenko, Рассылка FreeBSD UA
А вот тут поподробнее, пожалуйста. Какой гибкости не хватает?

Alexey Ugnichev

μη αναγνωσμένη,
14 Ιουν 2022, 6:52:59 π.μ.14/6/22
ως Рассылка FreeBSD UA
Привет!

On Mon, 13 Jun 2022 at 15:34, Anton Saietskii <vsas...@gmail.com> wrote:
А вот тут поподробнее, пожалуйста. Какой гибкости не хватает?

В моём случае это касалось настроек `ccache` (я сейчас глянул код и вижу, что там есть nullfs для переменной $СCACHE_DIR, надо будет ещё подробнее поразбираться), ну и заодно поддержки `sccache` из коробки. В более широком смысле — большего количества хуков, на гитхабе видел пару issues на этот счёт.
 
--

ma...@chado.in.ua

μη αναγνωσμένη,
11 Μαρ 2023, 5:25:35 μ.μ.11/3/23
ως fre...@uafug.org.ua
Hi

Вот у мя такая же проблема
есть виртуалка с 16G памяти + своп 26G+8G
Mem: 50M Active, 49M Inact, 12M Laundry, 5754M Wired, 10G Free
Swap: 34G Total, 15M Used, 34G Free

и сборка rust постоянно вываливается изза того что swap заканчивается
... kernel: pid 81956 (cc1plus), jid 287, uid 65534, was killed: out of
swap space
... kernel: pid 82355 (rust-installer), jid 283, uid 65534, was killed:
out of swap space

сколько ж ему памяти нужно для сборки ?
на скольки памяти у вас собирается?
или тут проблема в том что это виртуалка?


2022-06-10 15:14, Taras Heichenko написав:

ma...@chado.in.ua

μη αναγνωσμένη,
11 Μαρ 2023, 5:27:02 μ.μ.11/3/23
ως fre...@uafug.org.ua
сборка в poudriere

2023-03-12 00:25, ma...@chado.in.ua написав:

Владимир Друзенко via freebsd

μη αναγνωσμένη,
11 Μαρ 2023, 7:21:55 μ.μ.11/3/23
ως fre...@uafug.org.ua
Замечательно (хоть и очень долго) собирается на 16GB RAM + 8GB SWAP (4
ядра) на одном хосте и 16GB RAM + 16GB SWAP (6 ядер) на другом хосте.
Оба хоста baremetal.
Каких-то огромных залезаний в своп не могу припомнить.

12.03.2023 01:26, ma...@chado.in.ua пишет:

ma...@chado.in.ua

μη αναγνωσμένη,
14 Μαρ 2023, 5:28:31 π.μ.14/3/23
ως fre...@uafug.org.ua
при 24G оперативки + 38G свопа таки собрался...

2023-03-12 02:21, Владимир Друзенко via freebsd написав:

Владимир Друзенко via freebsd

μη αναγνωσμένη,
14 Μαρ 2023, 7:17:20 π.μ.14/3/23
ως fre...@uafug.org.ua
А ядер сколько?
Вернее сколько -j выставляется при сборке?

14.03.2023 12:28, ma...@chado.in.ua пишет:

ma...@chado.in.ua

μη αναγνωσμένη,
14 Μαρ 2023, 10:09:48 μ.μ.14/3/23
ως fre...@uafug.org.ua
2023-03-14 13:17, Владимир Друзенко via freebsd написав:

> А ядер сколько?
> Вернее сколько -j выставляется при сборке?

hw.ncpu: 8
-j нигде явно не выставлял,
в poudriere я так понимаю выделяется одно ядро

Владимир Друзенко via freebsd

μη αναγνωσμένη,
16 Μαρ 2023, 10:12:07 π.μ.16/3/23
ως fre...@uafug.org.ua
15.03.2023 05:09, ma...@chado.in.ua пишет:

> 2023-03-14 13:17, Владимир Друзенко via freebsd написав:
>> А ядер сколько?
>> Вернее сколько -j выставляется при сборке?
>
> hw.ncpu: 8
> -j нигде явно не выставлял,
> в poudriere я так понимаю выделяется одно ядро
>
Прямо сейчас собирается на тех двух хостах - никакого ухода в swap не
наблюдается.

Без poudriere с дефолтным -j по количеству ядер (4 и 6).

Anton Saietskii

μη αναγνωσμένη,
14 Αυγ 2023, 7:07:11 π.μ.14/8/23
ως ma...@chado.in.ua, Рассылка FreeBSD UA
On Wed, Mar 15, 2023, 04:09 <ma...@chado.in.ua> wrote:
2023-03-14 13:17, Владимир Друзенко via freebsd написав:
> А ядер сколько?
> Вернее сколько -j выставляется при сборке?

hw.ncpu: 8
-j нигде явно не выставлял,
в poudriere я так понимаю выделяется одно ядро
На жаль, це не зовсім так. Builder jail не обмежений у кількості доступних ядер, тільки make jobs за замовчуванням виставляється в 1, але і це не завжди працює. Наприклад, при використанні LTO ld.lld буде жерти стільки ядер, скільки знайде і це, хоча і технічно можливо, але наразі не налаштовується. Та і rustc я бачив більше одного одночасно, і деякі інші порти теж в декілька потоків збираються (не згадаю одразу, які саме і, звісно, в ALLOW_MAKE_JOBS_PACKAGES тільки pkg і ccache).

В цілому проблема не тільки rust стосується, а ще libreoffice, можливо firefox і подібних жирних портів. Є навіть ось таке для poudriere: https://github.com/freebsd/poudriere/issues/888
Але схоже, що відповідальні поклали болта, бо коміт зроблений більше року тому, а в ports-mgmt/poudriere немає (спробував переробити патч — не злетіло в мене).
Απάντηση σε όλους
Απάντηση στον συντάκτη
Προώθηση
0 νέα μηνύματα