codrsquad / codrsquad/portable-python
Building for different architecure on Apple Silicon
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 86
- Forks
- 13
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hello,
I am trying to build i386 (x86) version of python 3.7 on a apple sillicon Mac. Because I want to embed a python tool (USDZ Tools) in my app's sandbox.
I tried to run this command in x86 and moved python 3.7 env to temp folder, then tried to build python3.7. Which spits out this error:
Traceback (most recent call last):
File "./setup.py", line 2407, in <module>
main()
File "./setup.py", line 2402, in main
"Tools/scripts/2to3", "Tools/scripts/pyvenv"]
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/core.py", line 148, in setup
dist.run_commands()
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/Users/TD/Downloads/python3.7/build/components/cpython/Lib/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "./setup.py", line 272, in build_extensions
missing = self.detect_modules()
File "./setup.py", line 868, in detect_modules
(tuple(int(n) for n in dep_target.split('.')[0:2])
AttributeError: 'int' object has no attribute 'split'
make[3]: *** [sharedmods] Error 1
make[2]: *** [build_all_generate_profile] Error 2
make[1]: *** [profile-gen-stamp] Error 2
make: *** [profile-run-stamp] Error 2
ERROR make exited with code 2
This is probably an error caused by the build script, might need to cast dep_target into a String.
Any potential fix? If not I might have to tear down the entire USDZ Tools and re-write it in modern python or Swift. (I really don't want to do this, it uses a lot of dynamic linked libraries and .so objects.)
Some key requirements:
USDZ Tools only supports python 3.7.x on the x86 architecture (Thx Pixar). And I can not find alternative commandline tools that works well.
Have to run in an app sandbox, because I want to keep this app tidy and get it on App Store.
My app have to write in Swift, because it calls an first party API only supports Swift calling.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 en setup.py, en detect_modules, usando el traceback del build de Python 3.7 i386 reportado para inspeccionar cómo se gestiona dep_target. Reproduce el build en Apple Silicon y verifica que el build resultante de x86 Python 3.7 se complete para su uso con los requisitos de USDZ Tools.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- macos, python
- Área
- build-system, operating-systems
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100