codrsquad / codrsquad/portable-python

Building for different architecure on Apple Silicon

Đang mở
#48 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
86
Fork
13
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu trong setup.py tại detect_modules, sử dụng traceback build Python 3.7 i386 đã được báo cáo để kiểm tra cách dep_target được xử lý. Tái hiện build trên Apple Silicon và xác minh rằng build x86 Python 3.7 thu được hoàn tất để sử dụng với các yêu cầu của USDZ Tools.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
macos, python
Lĩnh vực
build-system, operating-systems
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.