make error when run without access to `/proc`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, linux, node.js
- Área
- build-system, tooling
Línea de trabajo
Comienza con lib/build.js en las líneas 176-179 y reproduce el resultado con cero CPU mediante el comando systemd-run proporcionado con ProcSubset=pid. Comprueba los argumentos resultantes de make y verifica que un build ya no pase una cantidad de trabajos igual a cero cuando os.cpus() devuelva un array vacío.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
- Node Version: node = v20.16.0, npm = 10.8.1
- Platform: Linux 6.8.0-40-generic x86_64
- Module: re2
Verbose output (from npm or node-gyp):
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build', '--jobs', 0 ]
npm error make: the '-j' option requires a positive integer argument
When building a package using the systemd security option ProcSubset=pid, gyp sets the number of jobs to 0, which make does not accept.
I believe the relevant code is here: https://github.com/nodejs/node-gyp/blob/e6f4ede10cca28e9edeaa85d7830914c5d1499c7/lib/build.js#L176-L179
The documentation for Node function os.cpus() says:
Returns an array of objects containing information about each logical CPU core. The array will be empty if no CPU information is available, such as if the
/procfile system is unavailable.
This can be shown by getting the number of CPUs in a transient service unit:
$ node -e "console.log(require('node:os').cpus().length)"
16
$ sudo systemd-run -p ProcSubset=pid -t -- \
node -e "console.log(require('node:os').cpus().length)"
0
In the event of os.cpus() not returning any information, I suggest that gyp should either default to some constant number of parallel jobs or let make run as many jobs as it wants.
- Lenguaje dominante
- Python
- Estrellas
- 10.7k
- Forks
- 1.9k
- Merge medio
- 1 d 4 h
- PR fusionados (30 d)
- 5
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nodejs/node-gyp
-
dependencies github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
MSYS2
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de nodejs/node-gyp
Issues similares
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Abiertoarea: harness bug status: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Human-Agent-Society/reef#625 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
learningequality/kolibri#15351 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Name consistency Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eellak/triplestore#65 · 1 comentario ·