Skip to content

_struct.cpython-310-darwin.so is not a fat binary #439

Closed
@charles-cooper

Description

@charles-cooper

Description:
since actions/python-versions#114, the python binary is universal2. but apparently, some of the .so files are not.
https://github.com/vyperlang/vyper/runs/6945662103?check_suite_focus=true raises the following error

  File "/Users/runner/hostedtoolcache/Python/3.10.5/x64/lib/python3.10/site-packages/PyInstaller/utils/osx.py", line 312, in binary_to_target_arch
    raise IncompatibleBinaryArchError(f"{display_name} is not a fat binary!")
PyInstaller.utils.osx.IncompatibleBinaryArchError: /Users/runner/hostedtoolcache/Python/3.10.5/x64/lib/python3.10/lib-dynload/_struct.cpython-310-darwin.so is not a fat binary!

i downloaded the build that was used in the action from https://github.com/actions/python-versions/releases/download/3.10.5-2452607758/python-3.10.5-darwin-x64.tar.gz, and inspected the files.
the main binary looks good!

$ file bin/python3.10
bin/python3.10: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE>] [arm64:Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE>]

however, the library in question does not:

$ file lib/python3.10/lib-dynload/_struct.cpython-310-darwin.so 
lib/python3.10/lib-dynload/_struct.cpython-310-darwin.so: Mach-O 64-bit x86_64 bundle, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL>

Action version:
v4

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:
3.10.5

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions