Ошибка в процессе обновления nodejs в gentoo

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SwapON
Сообщения: 209
ОС: Gentoo Xfce4

Ошибка в процессе обновления nodejs в gentoo

Сообщение SwapON »

Собственно сам вопрос в заголовке.
build.log
make: *** [Makefile:149: node] Error 1
* ERROR: net-libs/nodejs-20.12.1::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=net-libs/nodejs-20.12.1::gentoo'`,
* the complete build log and the output of `emerge -pqv '=net-libs/nodejs-20.12.1::gentoo'`.
* The complete build log is located at '/var/tmp/portage/net-libs/nodejs-20.12.1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/net-libs/nodejs-20.12.1/temp/environment'.
* Working directory: '/var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1'
* S: '/var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1'

>>> Failed to emerge net-libs/nodejs-20.12.1, Log file:

>>> '/var/tmp/portage/net-libs/nodejs-20.12.1/temp/build.log'

* Messages for package net-libs/nodejs-20.12.1:

* ERROR: net-libs/nodejs-20.12.1::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=net-libs/nodejs-20.12.1::gentoo'`,
* the complete build log and the output of `emerge -pqv '=net-libs/nodejs-20.12.1::gentoo'`.
* The complete build log is located at '/var/tmp/portage/net-libs/nodejs-20.12.1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/net-libs/nodejs-20.12.1/temp/environment'.
* Working directory: '/var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1'
* S: '/var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1'
Глобальный make.conf
COMMON_FLAGS="-march=rocketlake -mmmx -mpopcnt -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mno-avx -mno-avx2 -mno-sse4a -mno-fma4 -mno-xop -mno-fma -mno-avx512f -mbmi -mbmi2 -maes -mpclmul -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512cd -mno-avx512er -mno-avx512pf -mno-avx512vbmi -mno-avx512ifma -mno-avx5124vnniw -mno-avx5124fmaps -mno-avx512vpopcntdq -mno-avx512vbmi2 -mgfni -mno-vpclmulqdq -mno-avx512vnni -mno-avx512bitalg -mno-avx512bf16 -mno-avx512vp2intersect -mno-3dnow -madx -mabm -mno-cldemote -mclflushopt -mno-clwb -mno-clzero -mcx16 -mno-enqcmd -mno-f16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mno-movdir64b -mno-movdiri -mno-mwaitx -mno-pconfig -mpku -mno-prefetchwt1 -mprfchw -mno-ptwrite -mrdpid -mrdrnd -mrdseed -mno-rtm -mno-serialize -mno-sgx -msha -mno-shstk -mno-tbm -mno-tsxldtrk -mno-vaes -mno-waitpkg -mno-wbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl -mno-avxvnni -mno-avx512fp16 -mno-avxifma -mno-avxvnniint8 -mno-avxneconvert -mno-cmpccxadd -mno-amx-fp16 -mno-prefetchi -mno-raoint -mno-amx-complex --param l1-cache-size=48 --param l1-cache-line-size=64 --param l2-cache-size=16384 -mtune=rocketlake -dumpbase null"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"

MAKEOPTS="--jobs 16 --load-average 17"

USE="X dbus dist-kernel djvu rdp x265 \
-bluetooth -cdr -cups -dvdr -gnome -ipv6 -kde -mariadb -pop3 -sendmail -systemd"

VIDEO_CARDS="nvidia"
ACCEPT_LICENSE="*"

LC_MESSAGES=C.utf8
LINGUAS="ru en"
L10N="ru en_US"

GENTOO_MIRRORS="http://gentoo-mirror.alexxy.name/"
CPU_FLAGS_X86="aes mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 ssse3"
GRUB_PLATFORMS="efi-64"
lscpu
Архитектура: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Порядок байт: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
ID прроизводителя: GenuineIntel
Имя модели: 11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz
Семейство ЦПУ: 6
Модель: 167
Thread(s) per core: 2
Ядер на сокет: 8
Сокетов: 1
Степпинг: 1
CPU(s) scaling MHz: 17%
CPU max MHz: 4900,0000
CPU min MHz: 800,0000
BogoMIPS: 4993,00
Флаги: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscal
l nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_f
req pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_d
eadline_timer aes xsave rdrand lahf_lm abm 3dnowprefetch cpuid_fault ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriorit
y ept vpid ept_ad fsgsbase tsc_adjust bmi1 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt sha_ni xsaveopt xsav
ec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip pku ospke gfni rdpid fsr
m md_clear flush_l1d arch_capabilities
Virtualization features:
Виртуализация: VT-x
Caches (sum of all):
L1d: 384 KiB (8 instances)
L1i: 256 KiB (8 instances)
L2: 4 MiB (8 instances)
L3: 16 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-15
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerable
Retbleed: Mitigation; Enhanced IBRS
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Enhanced / Automatic IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Srbds: Not affected
Tsx async abort: Not affected
Не совсем понимаю что ему надо для удачной сборки. yoricI тут вроде лютый гентовод, может что подскажет...? :)
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2599
ОС: gentoo fluxbox

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение yoricI »

В силу своего разумения могу только подсказать, что:
1) это уместнее писать в разделе gentoo
2) выложить /var/tmp/portage/net-libs/nodejs-20.12.1/temp/build.log, как написано в ошибках

lscpu и make.conf в данном случае пока лишние. Если только удивиться, зачем Вы процессорные флаги (sse*, mmx, avx etc), вынесли в COMMON-FLAGS. Я бы привёл к стандартному виду, и с помощью app-portage/cpuid2cpuflags вписал в make.conf (у меня CPU_FLAGS_X86=" 3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a") именно что надо.
По build.log подскажут более знающие))
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 977
ОС: BSD/LINUX

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение bars »

pastebin.com сюда выложить build.log, ошибка где-то выше в нем.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 209
ОС: Gentoo Xfce4

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение SwapON »

bars писал:
21.04.2024 08:07
pastebin.com сюда выложить build.log, ошибка где-то выше в нем.
Действительно выше по логу я заметил страшное слово бордового цвета FAILED. Моё предположение - ругань идёт на какой-то флаг. Гугление ошибки отправило меня в эту тему. Но убрав из CFLAGS флаг -mno-avx2 к успеху не привело. Сборка крашнулась на той же ошибке :(
Добавлено (12:09):
yoricI писал:
21.04.2024 06:26
зачем Вы процессорные флаги (sse*, mmx, avx etc), вынесли в COMMON-FLAGS.
В генту я не так давно. В связи с этим пока учусь. Я обратил внимание, как некий чувак добавил в make.conf все ключи поддержки своего процессора (линк с таймкодом). Применил это у себя. Посчитал что так будет правильнее... :huh:
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2599
ОС: gentoo fluxbox

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение yoricI »

SwapON писал:
21.04.2024 11:59
обратил внимание, как некий чувак
Ещё и на ютубе)) Разных чуваков много, а gentoo.org - один!
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 209
ОС: Gentoo Xfce4

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение SwapON »

yoricI писал:
21.04.2024 12:16
Ещё и на ютубе)) Разных чуваков много
Соглашусь что брать пример с ютуба не есть хорошо, но в данном примере скажите почему не надо делать

Shell

gcc -v -E -x c /dev/null -o /dev/null -march=native 2>&1 | grep /cc1 | grep mtune
и добавлять выхлоп в COMMON_FLAGS...? Чем плох этот вариант в сравнении с хэндбуковским мануалом по установке...?
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 977
ОС: BSD/LINUX

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение bars »

SwapON писал:
21.04.2024 13:19
COMMON_FLAGS.
Убрать этот маркер.
У меня так в make.conf, процессор мой i7-8700.

Код: Выделить всё

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3"

MAKEOPTS="-j12"
FEATURES="parallel-fetch"
Как выше отметили, с помощью утилиты cpuid2cpuflags можно взять основные флаги под процессор для сборки.
Агрессивная оптимизация сборки только палки в колеса вставляет, достаточно средней то что рекомендуется от разработчиков.
Определитесь с профилем для сборки мира у системы (eselect profile list), и не нужно будет городить велосипеды COMMON_FLAGS.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2599
ОС: gentoo fluxbox

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение yoricI »

SwapON писал:
21.04.2024 13:19
и добавлять выхлоп в COMMON_FLAGS...? Чем плох этот вариант в сравнении с хэндбуковским мануалом по установке...?
Отклонением от генеральной линии. Если сам не силён, то чревато зависнуть в случае чего и ждать помощи от мудрецов))
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение ormorph »

SwapON писал:
21.04.2024 13:19
Соглашусь что брать пример с ютуба не есть хорошо, но в данном примере скажите почему не надо делать
Shell

gcc -v -E -x c /dev/null -o /dev/null -march=native 2>&1 | grep /cc1 | grep mtune
и добавлять выхлоп в COMMON_FLAGS...? Чем плох этот вариант в сравнении с хэндбуковским мануалом по установке...?
Если вы не собираете с помощью distcc и на разных машинах, то в этом нет смысла. Но в данном случае у вас отключена оптимизация в флагах компилятора, а она как раз включает поддержку векторизации и т.п. Т.е. -O2 должно быть добавлено иначе где то будут проблемы. Уже дано не гонюсь за оптимизацией под процессор -march=native. Мне важнее что бы можно было уже собранные бинарники кидать на другие машины. Ну и если используешь ещё BINHOST для ускорения обновления, то эта оптимизация не нужна. Достаточно просто:
Spoiler

Код: Выделить всё

COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
Добавлено (19:03):
Опцию -dumpbase null вообще убрать, она не нужна. Эта опция была включена, так как не было указано вспомогательных файлов для компилятора. Если выполнить:

Shell

$ gcc -### -march=native /usr/include/stdlib.h 2>&1|grep cc1
То вывод будет другим. По оптимизации смотреть тут.
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 209
ОС: Gentoo Xfce4

Re: Ошибка в процессе обновления nodejs в gentoo

Сообщение SwapON »

ormorph писал(а):
21.04.2024 18:29
По оптимизации смотреть тут.
Премного благодарен за ответ и на указ в сторону документации. Внимательно ознакомился и сделал для себя выводы.
Добавлено (09:19):
yoricI писал:
21.04.2024 15:20
ждать помощи от мудрецов))
Блин, а как ещё учить генту? =)
Добавлено (09:21):
bars писал:
21.04.2024 14:02
Агрессивная оптимизация сборки только палки в колеса вставляет
Вернул как изначально было -march=native всё собралось без проблем.
Добавлено (09:24):
P.S> Спасибо великим гентоводам :drinks: (я про всех, кто уделил время и дал ответ, а не указал в сторону швабры). Спотыкаясь дальше, по всей видимости ещё неоднократно обращусь за советом...
Спасибо сказали: