micropython / micropython/micropython-lib
os-path causes build conflict with unix_ffi os
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 2.9k
- Forks
- 1.1k
- Merge medio
- 7 d 6 h
- PR fusionados (30 d)
- 3
Descripción
Building fails for the unix port when adding the glob package to the variant manifest with:
require("glob", unix_ffi=True)
glob's manifest requires os-path, without unix_ffi, and that in turns requires os also without unix_ffi:
require("os", unix_ffi=True)
require("os-path")
os-path's manifest requires os:
require("os")
package("os")
This causes a conflict with the os that has already been required with unix_ffi:
build-standard/frozen_content.c:20526:27: error: redefinition of ‘const_qstr_table_data_os___init__’
20526 | static const qstr_short_t const_qstr_table_data_os___init__[158] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build-standard/frozen_content.c:17919:27: note: previous definition of ‘const_qstr_table_data_os___init__’ was here
17919 | static const qstr_short_t const_qstr_table_data_os___init__[158] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
....
If I add unix_ffi=True to lib/micropython-lib/python-stdlib/os-path/manifest.py, then it is able to compile the frozen content.
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.
Línea de trabajo
Comienza con lib/micropython-lib/python-stdlib/os-path/manifest.py y compara su requisito de os con los requisitos del puerto unix mostrados en el issue. Reproduce la compilación de unix con glob en el manifiesto de la variante y verifica que el contenido congelado ya no contenga definiciones duplicadas de os.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- build-system
- Tipo de issue
- Error
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 62/100