-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
fix: widen aarch64 linux minimum GLIBC version by improving sysroot build #23791
Conversation
@@ -95,51 +95,41 @@ sudo mount --rbind /home /sysroot/home | |||
sudo mount -t proc /proc /sysroot/proc | |||
cd | |||
|
|||
if [[ \`uname -m\` == "aarch64" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is no longer necessary -- maybe because we're fixing up symlinks in the sysroot now?
@@ -700,6 +701,24 @@ const ci = { | |||
"df -h", | |||
].join("\n"), | |||
}, | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The binary is now smoke-tested (in sysroot and normally) after it boots to get faster feedback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool, thanks!
-C link-arg=-ldl | ||
-C link-arg=-Wl,--allow-shlib-undefined | ||
-C link-arg=-Wl,--thinlto-cache-dir=$(pwd)/target/release/lto-cache | ||
-C link-arg=-Wl,--thinlto-cache-policy,cache_size_bytes=700m | ||
\${{ env.RUSTFLAGS }} | ||
--cfg tokio_unstable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we actually need tokio_unstable
? Or is it to support tokio monitor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was here previously. I imagine it's just for the monitor.
…uild (#23791) Fixes the sysroot to make it more reliable on aarch64. The sysroot we download as part of the build process now includes a small script to set up the linker flags required to build in that sysroot. Fixes #23775 Before: ``` matt@raspberrypi:~ $ ~/.deno/bin/deno /home/matt/.deno/bin/deno: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by /home/matt/.deno/bin/deno) ``` After: ``` matt@raspberrypi:/tmp $ ./deno Deno 1.43.3 exit using ctrl+d, ctrl+c, or close() REPL is running with all permissions allowed. To specify permissions, run `deno repl` with allow flags. ```
Fixes the sysroot to make it more reliable on aarch64. The sysroot we download as part of the build process now includes a small script to set up the linker flags required to build in that sysroot.
Fixes #23775
Before:
After: