summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2023-07-24 01:19:24 +0200
committerGitHub <noreply@github.com>2023-07-23 17:19:24 -0600
commit9b4a588d41ce58b05270cb163e3cd4f0de7f8fb4 (patch)
treed712941b877281586e19d00ad4f083e5d0cde020
parent15290499b5a6fd70d3357b256dbe2c7505374e4e (diff)
fix(cli): build script panics on musl due to glibc_version check (#19913)
musl supports dynamic list. This patch comes from https://github.com/12101111/overlay/blob/cb58b125ada1d11c0309da144309628c5670af46/dev-lang/deno/files/glibc.patch. Resolves #17739 Note: This patch is already used in Alpine Linux’s [deno](https://pkgs.alpinelinux.org/packages?name=deno) package. Co-authored-by: 12101111 <w12101111@gmail.com>
-rw-r--r--cli/build.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/cli/build.rs b/cli/build.rs
index a71692a31..8d379f604 100644
--- a/cli/build.rs
+++ b/cli/build.rs
@@ -439,11 +439,13 @@ fn main() {
#[cfg(target_os = "linux")]
{
- let ver = glibc_version::get_version().unwrap();
-
// If a custom compiler is set, the glibc version is not reliable.
// Here, we assume that if a custom compiler is used, that it will be modern enough to support a dynamic symbol list.
- if env::var("CC").is_err() && ver.major <= 2 && ver.minor < 35 {
+ if env::var("CC").is_err()
+ && glibc_version::get_version()
+ .map(|ver| ver.major <= 2 && ver.minor < 35)
+ .unwrap_or(false)
+ {
println!("cargo:warning=Compiling with all symbols exported, this will result in a larger binary. Please use glibc 2.35 or later for an optimised build.");
println!("cargo:rustc-link-arg-bin=deno=-rdynamic");
} else {