Вот, к примеру: см. [gyp http GET https://nodejs.org/download/release/v10.15.3/node-v10.15.3-headers.tar.gz] у федоры для борьбы с этим есть патч (для версии 3.6). Его надо приложить, даже если придется откатиться на версию 3.6.х Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.42738 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd package + /usr/share/rpm-build-nodejs/nodejs-symlink-deps /usr/lib/node_modules --build + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export 'LDFLAGS=-Wl,-z,relro -Wl,-z,undefs' + LDFLAGS='-Wl,-z,relro -Wl,-z,undefs' + node-gyp rebuild -- -Dnode_iconv_use_system_libiconv=1 gyp info it worked if it ends with ok gyp info using node-gyp@3.8.0 gyp info using node@10.15.3 | linux | x64 gyp http GET https://nodejs.org/download/release/v10.15.3/node-v10.15.3-headers.tar.gz gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: getaddrinfo EAI_AGAIN nodejs.org nodejs.org:443 gyp ERR! stack at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26) gyp ERR! System Linux 4.9.150-std-def-alt0.M80P.1 gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild" "--" "-Dnode_iconv_use_system_libiconv=1" gyp ERR! cwd /usr/src/RPM/BUILD/package gyp ERR! node -v v10.15.3 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok error: Bad exit status from /usr/src/tmp/rpm-tmp.42738 (%build) RPM build errors: Bad exit status from /usr/src/tmp/rpm-tmp.42738 (%build) Command exited with non-zero status 1 1.36user 0.14system 0:01.45elapsed 103%CPU (0avgtext+0avgdata 54092maxresident)k 0inputs+0outputs (0major+30870minor)pagefaults 0swaps hsh-rebuild: rebuild of `nodejs-iconv-2.3.0-alt1_10.src.rpm' failed.
Такое поведение только для arch пакетов. noarch-ам headers не нужны, с ними node-gyp работает. и нужен ли такой строгий acl: lav ?
Посмотрите, как я собираю grafana. Там локально собирается gyp, но с системными хедерами. Не претендую на верное решение, но возможно так удобнее.
(In reply to comment #2) > Посмотрите, как я собираю grafana. Там локально собирается gyp, но с системными > хедерами. Не претендую на верное решение, но возможно так удобнее. Я бы предложил не собирать gyp - у нас есть такой пакет в системе.
(In reply to comment #1) > Такое поведение только для arch пакетов. noarch-ам headers не нужны, > с ними node-gyp работает. Как воспроизвести проблему? > > и нужен ли такой строгий acl: lav ? Обязательно. Иначе вы возьмётесь патчить пакет.
Created attachment 8055 [details] Вот пример.
И надо подключить autoimports, в Сизифе многих зависимостей нет.
Я собрал в autoimports node-gyp-3.6.0-alt1_7, с его помощью собрал в autoimports arch пакеты, такие, как nodejs-iconv, nodejs-sqlite3, ...
(В ответ на комментарий №2) > Посмотрите, как я собираю grafana. Там локально собирается gyp, но с системными > хедерами. Не претендую на верное решение, но возможно так удобнее. Правильное решение — это выявить, какие npm-модули собирают бинарники (видимо, brotli) и собрать эти модули отдельными пакетами. Чтобы контролировать, с чем они собраны.
* Mon Jan 20 2020 Vitaly Lipatov <lav@altlinux.ru> 5.0.5-alt3 - use system node include dir to binary build (ALT bug 36349) - first use python3 to gyp run