Re: [INTERNALS-WIN] Ship PHP builds for Windows on arm64?

[email protected] (JB) Wed, 28 Aug 2024 23:31:24 +0200
Newsgroups php.internals.win
Message-ID <[email protected]>
Hi Christoph,

This subject has a particular song for me. In July, I worked to build 
PHP 8.4.0 for ARM64.

Some libraries have been built correctly and some others needed patches.

I have used an Azure VM on ARM (Ampere Altra Arm-based processor). 
However, this solution is not suitable for the long term due to the high 
cost.

This is the list of actual libraries built on ARM64:
build_argon2_arm64.zip
build_curl_arm64.zip
build_edit_arm64.zip
build_ffi_arm64.zip
build_freetype_arm64.zip
build_glib_arm64.zip
build_icu4c_arm64.zip
build_ImageMagick_arm64.zip
build_imap_arm64.zip
build_libbzip2_arm64.zip
build_libiconv_arm64.zip
build_libintl_arm64.zip
build_libjpeg_arm64.zip
build_liblzma_arm64.zip
build_libmemcached_arm64.zip
build_libpng_arm64.zip
build_libsodium_arm64.zip
build_libssh2_arm64.zip
build_libwebp_arm64.zip
build_libxml2_arm64.zip
build_libxpm_arm64.zip
build_libxslt_arm64.zip
build_libzip_arm64.zip
build_mpir_arm64.zip
build_nghttp2_arm64.zip
build_oniguruma_arm64.zip
build_openssl_arm64.zip
build_pgsql_arm64.zip
build_pslib_arm64.zip
build_qdbm_arm64.zip
build_sqlite3_arm64.zip
build_zlib_arm64.zip
php-8.4.0-dev-devel-vs17-arm64-NEON.zip
php-8.4.0-dev-vs17-arm64-debug.zip

Since I don't have to publish anything because I don't know if somebody 
is interested.

For me, the next step is to buy a computer with an ARM64 processor and 
Windows 11 to install all the tools for building PHP and extensions.

I'm open to discussing this project with you.

Best regards,

Jean-Baptiste


Le 28/08/2024 à 21:16, Christoph M. Becker a écrit :
> Hi all,
>
> cross-posting for reach (guess that only few read internals-win).
>
> We had a feature request the other day to ship PHP builds for Windows on
> arm64[1].  It seems to me that Windows on arm64 has left its infancy,
> and we may not want to fall too far behind in supporting that platform.
>
> We already have basic support for doing PHP builds for Windows on arm64
> for a few years, but there are still two major issues:
>
> (1) The libraries on which several extensions rely are not yet available
> for Windows on arm64; at least the winlib-builder[2] would need to be
> improved in this regard, but of course, some libraries may not even
> support Windows on arm64 yet.
>
> (2) To my knowledge, none of the core developers has a Windows on arm64
> environment available, and I presume that nobody wants to run an arm64
> emulator on an x64 machine.  And since there are no public GH runners
> for that platform (that might change in a couple of months, though[3]),
> we cannot actually test (let alone develop) these builds.
>
> If we ship builds with what we have now, we may get user feedback, and
> might be able to fix an issue or three.  And we may even get some help
> regarding (1), so (hope dies last) we might be able to ship a full
> fledged PHP 8.4.0 for Windows on arm64.
>
> Therefore I suggest to make PHP 8.4 builds for Windows on arm64
> available on <https://windows.php.net/>, either on the QA releases page,
> or on the snapshots page, but to clearly mark these as highly
> experimental and incomplete.
>
> Thoughts?
>
> [1] <https://github.com/php/php-src/issues/15610>
> [2] <https://github.com/winlibs/winlib-builder>
> [3]
> <https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/>
>
> Christoph