diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2023-07-24 01:19:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-23 17:19:24 -0600 |
commit | 9b4a588d41ce58b05270cb163e3cd4f0de7f8fb4 (patch) | |
tree | d712941b877281586e19d00ad4f083e5d0cde020 | |
parent | 15290499b5a6fd70d3357b256dbe2c7505374e4e (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.rs | 8 |
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 { |