Skip to content

Build for Windows on ARM #15610

Closed as not planned
Closed as not planned

Description

@RiadhKHEDHIRI

Description

Please. Windows on ARM-based is gaining traction as Microsoft is going all-in.

Activity

  1. cmb69 commented on Aug 28, 2024

    @cmb69
    Member

    There are a couple of issues regarding arm64 builds for Windows:

    • we roll the official builds on hosted Github runners, but since there are no arm64 runners available, we could only cross-compile, but not run any tests
    • we cannot do full builds until https://github.com/winlibs/winlib-builder produces arm64 binaries for the libraries
    • even a minimal snapshot build (i.e. build all extension which don't require external libraries) might not work, because some helper binaries will be built, but these can't run when cross-compiling

    And the biggest issue would be that if none of developers have an arm64 on Windows machine, we couldn't do any development there (at best some blind fixes).

    Anyhow, I agree that we should ship arm64 builds for Windows as soon as possible, even if these would be only minimal builds, and highly experimental. Since I've managed to do a minimal arm64 cross-compilation, I'll see whether this can be done on a Github windows-2022 runner as well. That would be a start.

    Would you be able to test these builds?

  2. self-assigned this
    on Aug 28, 2024
  3. cmb69 commented on Aug 28, 2024

    @cmb69
    Member

    Et voilà, we have minimal arm64 builds for Windows: https://github.com/cmb69/php-ftw/actions/runs/10597236705.

    Test reports are welcome.

    PS: for now, only the date, hash, json, pcre, random, reflection, spl and standard extensions are available.

    PPS: this is PHP 8.4.0beta4

  4. cmb69 commented on Aug 28, 2024

    @cmb69
    Member

    And here are PHP 8.4.0beta4 builds with more extensions and SAPIs (see https://github.com/cmb69/php-ftw/actions/runs/10597760618/job/29368660966#step:6:296 ff for details): https://github.com/cmb69/php-ftw/actions/runs/10597760618

    I guess that is as good as it goes (maybe OPcache could be added), until the dependency libraries built for arm64 are available.

  5. cmb69 commented on Aug 28, 2024

    @cmb69
    Member

    Maybe good news (from https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/):

    We expect to begin offering Arm runners for open source projects by the end of the year.

  6. cmb69 commented on Aug 29, 2024

    @cmb69
    Member

    And another build (this time with OPcache, but without JIT): https://github.com/cmb69/php-ftw/actions/runs/10613146327

  7. cmb69 commented on Sep 6, 2024

    @cmb69
    Member

    I started threads on the internal mailing lists a while ago (https://news-web.php.net/php.internals/125344 and https://news-web.php.net/php.internals.win/1285), but no decision has been made. So I think this requires the RFC process. Anyone who is interesting in having PHP for Windows on ARM64 is welcome to pursue it.

  8. removed their assignment
    on Sep 6, 2024
  9. jamespack commented on Dec 15, 2024

    @jamespack

    FWIW its really easy to translate the workflow to local steps for folks that just need a down and dirty build for windows.

  10. MacGritsch commented on Feb 3, 2025

    @MacGritsch

    And another build (this time with OPcache, but without JIT): https://github.com/cmb69/php-ftw/actions/runs/10613146327

    The binary files can not be downloaded (expired).

  11. cmb69 commented on Feb 4, 2025

    @cmb69
    Member

    PHP 8.4.4RC2 builds are at https://github.com/cmb69/php-ftw/actions/runs/13125582066. These are still limited, and highly experimental – don't even think of using them in production (I'm not going to build any stable releases in the foreseeable future).

    See #15610 (comment) for PHP considerations. See actions/runner-images#10820 for the (latest?) info regarding GH hosted Windows on ARM64 runners.

  12. hyh19962008 commented on Mar 12, 2025

    @hyh19962008
    Contributor

    I ran the tests on my Snapdragon X1E laptop with Windows 11 arm64, there are about 50 failed.

    php_test_results_20250312_0554.txt

  13. github-actions commented on Jun 11, 2025

    @github-actions

    There has not been any recent activity in this feature request. It will automatically be closed in 14 days if no further action is taken. Please see https://github.com/probot/stale#is-closing-stale-issues-really-a-good-idea to understand why we auto-close stale feature requests.

  14. joseph-montanez commented on Jun 15, 2025

    @joseph-montanez
  15. hyh19962008 commented on Jul 6, 2025

    @hyh19962008
    Contributor

    Made a custom build of 8.4.6: php-windows-arm64/releases. Enabled everything except: --with-gmp, --with-db, --with-mhash, --enable-phar-native-ssl, opcache-JIT. Test has 60+ failed(setting up all these database/http/snmp... services is a tough job). The MPIR that gmp depends on can be a trouble, because it uses assembly code heavily.

  16. Jan-E commented on Jul 6, 2025

    @Jan-E
    Contributor

    In the meantime PHP 8.4.10 has been released with some security fixes, so it might be better to upgrade.

  17. hyh19962008 commented on Jul 7, 2025

    @hyh19962008
    Contributor

    Alright, 8.4.10 is here: releases/tag/8.4.10. Same configuration, test failures down to 50+.

  18. github-actions commented on Oct 6, 2025

    @github-actions

    There has not been any recent activity in this feature request. It will automatically be closed in 14 days if no further action is taken. Please see https://github.com/probot/stale#is-closing-stale-issues-really-a-good-idea to understand why we auto-close stale feature requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions