Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ARM64 builds #22298

Merged
merged 9 commits into from Feb 7, 2024
Merged

feat: ARM64 builds #22298

merged 9 commits into from Feb 7, 2024

Conversation

mmastrac
Copy link
Member

@mmastrac mmastrac commented Feb 6, 2024

This implements officially blessed and tested deno binaries for ARM64.

Thanks to @LukeChannings for his tireless work in maintaining the deno-arm64 [1] repo, without which this project would have been far more complicated. For those of you requiring support for older GLIBC versions, that repo may still be required for the near future.

Limitations:

  • This initial build is built on Ubuntu 22 using the stock GLIBC, which will limit the utility of these binaries in certain use-cases (eg: early versions of Ubuntu). We will attempt to support earlier versions of ARM64 GLIBC in a later revision (working on this in feat: use sysroot for ARM64 #22329).
  • Like the stock Linux x64 build, this is not a static build and requires GLIBC. Running on Alpine will require installation of GLIBC.

Fixes #1846, #4862

[1] https://github.com/LukeChannings/deno-arm64

@mmastrac mmastrac force-pushed the arm64_build branch 4 times, most recently from fd1a6b5 to 53640ea Compare February 6, 2024 21:07
@bartlomieju bartlomieju mentioned this pull request Feb 7, 2024
Copy link
Member

@dsherret dsherret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Maybe this should be feat so it ends up in the release notes, but we can still publish in a patch?

@mmastrac mmastrac changed the title chore: ARM64 builds [WIP] feat: ARM64 builds Feb 7, 2024
@mmastrac mmastrac merged commit e5ae142 into denoland:main Feb 7, 2024
17 checks passed
mmastrac added a commit that referenced this pull request Feb 7, 2024
Follow-up from #22298: Use a sysroot to build ARM64 so we work all the
way back to Xenial.

We generate a sysroot ahead-of-time in the
https://github.com/denoland/deno_sysroot_build project and use that to
bootstrap a sysroot here.
littledivy pushed a commit that referenced this pull request Feb 8, 2024
This implements officially blessed and tested deno binaries for ARM64. 

Thanks to @LukeChannings for his tireless work in maintaining the
deno-arm64 [1] repo, without which this project would have been far more
complicated. For those of you requiring support for older GLIBC
versions, that repo may still be required for the near future.

Limitations: 

- This initial build is built on Ubuntu 22 using the stock GLIBC, which
will limit the utility of these binaries in certain use-cases (eg: early
versions of Ubuntu). We will attempt to support earlier versions of
ARM64 GLIBC in a later revision.
- Like the stock Linux x64 build, this is not a static build and
requires GLIBC. Running on Alpine will require installation of GLIBC.
 
Fixes #1846, #4862 

[1] https://github.com/LukeChannings/deno-arm64
littledivy pushed a commit that referenced this pull request Feb 8, 2024
Follow-up from #22298: Use a sysroot to build ARM64 so we work all the
way back to Xenial.

We generate a sysroot ahead-of-time in the
https://github.com/denoland/deno_sysroot_build project and use that to
bootstrap a sysroot here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Building for arm64
3 participants