codrsquad / codrsquad/portable-python

Building for different architecure on Apple Silicon

Aperta
#48 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
86
Fork
13
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia in setup.py, in detect_modules, usando il traceback del build Python 3.7 i386 segnalato per esaminare come viene gestito dep_target. Riproduci il build su Apple Silicon e verifica che il build x86 Python 3.7 risultante venga completato per l’uso con i requisiti di USDZ Tools.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
macos, python
Ambito
build-system, operating-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.