mesonbuild / mesonbuild/meson-python

Windows x86_64 Python on an ARM host: Builds fail with architecture mismatch

Offen
#776 19 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

blocked enhancement help wanted
Vorherrschende Sprache
Python
Sterne
180
Forks
93
Ø Merge
2 T. 7 Std.
Gemergte PRs (30 T.)
18

Beschreibung

Windows on ARM provides a transparent emulation layer that allows users to use unmodified x86_64 programs.

When using an installation of a Windows x86_64 Python on a Windows arm64 machine, building packages that use meson-python fails:

C:\Users\xuluze>pip install passagemath-cmr[test]==10.6.1rc6
Collecting passagemath-cmr==10.6.1rc6 (from passagemath-cmr[test]==10.6.1rc6)
  Using cached passagemath_cmr-10.6.1rc6-cp313-cp313-win_amd64.whl.metadata (7.1 kB)
Collecting cysignals!=1.12.0,>=1.11.2 (from passagemath-cmr==10.6.1rc6->passagemath-cmr[test]==10.6.1rc6)
  Using cached cysignals-1.12.3.tar.gz (65 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [22 lines of output]
      + meson setup C:\Users\xuluze\AppData\Local\Temp\pip-install-8y8hwiku\cysignals_ee1fee89382c49e69995d7ea4b014015 C:\Users\xuluze\AppData\Local\Temp\pip-install-8y8hwiku\cysignals_ee1fee89382c49e69995d7ea4b014015\.mesonpy-amed7qwl -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=C:\Users\xuluze\AppData\Local\Temp\pip-install-8y8hwiku\cysignals_ee1fee89382c49e69995d7ea4b014015\.mesonpy-amed7qwl\meson-python-native-file.ini
      The Meson build system
      Version: 1.8.2
      Source dir: C:\Users\xuluze\AppData\Local\Temp\pip-install-8y8hwiku\cysignals_ee1fee89382c49e69995d7ea4b014015
      Build dir: C:\Users\xuluze\AppData\Local\Temp\pip-install-8y8hwiku\cysignals_ee1fee89382c49e69995d7ea4b014015\.mesonpy-amed7qwl
      Build type: native build
      Project name: cysignals
      Project version: undefined
      C compiler for the host machine: cl (msvc 19.44.35211 "Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35211 for x64")
      C linker for the host machine: link link 14.44.35211.0
      C++ compiler for the host machine: cl (msvc 19.44.35211 "Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35211 for x64")
      C++ linker for the host machine: link link 14.44.35211.0
      Cython compiler for the host machine: cython (cython 3.1.2)
      Host machine cpu family: aarch64
      Host machine cpu: aarch64
      Program python found: YES (C:\Users\xuluze\AppData\Local\Programs\Python\Python313\python.exe)
      Need python for aarch64, but found x86_64
      Run-time dependency python found: NO (tried sysconfig)

      ..\meson.build:8:12: ERROR: Python dependency not found

      A full log can be found at C:\Users\xuluze\AppData\Local\Temp\pip-install-8y8hwiku\cysignals_ee1fee89382c49e69995d7ea4b014015\.mesonpy-amed7qwl\meson-logs\meson-log.txt

Reported originally by @xuluze in https://github.com/passagemath/passagemath/issues/1242

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das bereitgestellte pip install unter einem x86_64-Python, das unter Windows ARM64 ausgeführt wird, und untersuche die generierte meson-python-native-file.ini zusammen mit der meson.build:8:12-Abhängigkeitsprüfung. Verfolge, wie die Hostarchitektur und die Python-Abhängigkeit erkannt werden; abgeschlossen ist die Aufgabe, wenn die Paketkonfiguration das x86_64-Python nicht mehr ablehnt, weil sie die Hostarchitektur als ARM64 meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.