Raspberry Pi に deno をインストール出来なかった

環境

pi@pi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
pi@pi:~ $ uname -a
Linux pi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux

Deno は、arrch プロセッサのバイナリを提供していないので、ソースからビルドする

deno.land

1, Rust

cargo install deno --locked

~~~~
   Compiling zstd v0.11.2+zstd.1.5.2
   Compiling deno v1.29.2
The following warnings were emitted during compilation:

warning: Compiling with all symbols exported, this will result in a larger binary. Please use glibc 2.35 or later for an optimised build.

error: could not compile `deno`

Caused by:
  process didn't exit successfully: `rustc --crate-name deno --edition=2021 /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/deno-1.29.2/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=c57775ea426afea5 -C extra-filename=-c57775ea426afea5 --out-dir /tmp/cargo-installF3SKCi/release/deps -L dependency=/tmp/cargo-installF3SKCi/release/deps --extern atty=/tmp/cargo-installF3SKCi/release/deps/libatty-bb74996eed0bc80c.rlib --extern base32=/tmp/cargo-installF3SKCi/release/deps/libbase32-b8f9271e5d6f2bb5.rlib --extern base64=/tmp/cargo-installF3SKCi/release/deps/libbase64-3bd0d108169fc6a9.rlib --extern cache_control=/tmp/cargo-installF3SKCi/release/deps/libcache_control-c27caac829f636f3.rlib --extern chrono=/tmp/cargo-installF3SKCi/release/deps/libchrono-6c67233832506a07.rlib --extern clap=/tmp/cargo-installF3SKCi/release/deps/libclap-5535459cb42d5295.rlib --extern clap_complete=/tmp/cargo-installF3SKCi/release/deps/libclap_complete-15a9682b22c52194.rlib --extern clap_complete_fig=/tmp/cargo-installF3SKCi/release/deps/libclap_complete_fig-ee710cce3bc5739c.rlib --extern console_static_text=/tmp/cargo-installF3SKCi/release/deps/libconsole_static_text-3d37d66b6aafdb1c.rlib --extern data_url=/tmp/cargo-installF3SKCi/release/deps/libdata_url-9b0c8571d53bf18b.rlib --extern deno_ast=/tmp/cargo-installF3SKCi/release/deps/libdeno_ast-a4eef8a5b2b15beb.rlib --extern deno_core=/tmp/cargo-installF3SKCi/release/deps/libdeno_core-7ac5f39426c89a5d.rlib --extern deno_doc=/tmp/cargo-installF3SKCi/release/deps/libdeno_doc-86a8bb636119c7cb.rlib --extern deno_emit=/tmp/cargo-installF3SKCi/release/deps/libdeno_emit-a1b9ff61abc3a1b7.rlib --extern deno_graph=/tmp/cargo-installF3SKCi/release/deps/libdeno_graph-8cfabe6293d931d9.rlib --extern deno_lint=/tmp/cargo-installF3SKCi/release/deps/libdeno_lint-c8682be57fcbf618.rlib --extern deno_runtime=/tmp/cargo-installF3SKCi/release/deps/libdeno_runtime-4c2627d93f9995f9.rlib --extern deno_task_shell=/tmp/cargo-installF3SKCi/release/deps/libdeno_task_shell-9be8b04756c323be.rlib --extern dissimilar=/tmp/cargo-installF3SKCi/release/deps/libdissimilar-074b5ef7e77e54f4.rlib --extern dprint_plugin_json=/tmp/cargo-installF3SKCi/release/deps/libdprint_plugin_json-ad8617e4b3aeb379.rlib --extern dprint_plugin_markdown=/tmp/cargo-installF3SKCi/release/deps/libdprint_plugin_markdown-977f1de0cb2629c3.rlib --extern dprint_plugin_typescript=/tmp/cargo-installF3SKCi/release/deps/libdprint_plugin_typescript-a57a9c2813adb6f4.rlib --extern encoding_rs=/tmp/cargo-installF3SKCi/release/deps/libencoding_rs-4c2f54050a9bef9c.rlib --extern env_logger=/tmp/cargo-installF3SKCi/release/deps/libenv_logger-b6cdf4d40979c767.rlib --extern eszip=/tmp/cargo-installF3SKCi/release/deps/libeszip-6206085651b6c061.rlib --extern fancy_regex=/tmp/cargo-installF3SKCi/release/deps/libfancy_regex-c5bed447b7bf0e29.rlib --extern flate2=/tmp/cargo-installF3SKCi/release/deps/libflate2-90b13e3c6d355cd1.rlib --extern http=/tmp/cargo-installF3SKCi/release/deps/libhttp-548628cb5393d030.rlib --extern import_map=/tmp/cargo-installF3SKCi/release/deps/libimport_map-559941be70cda84f.rlib --extern indexmap=/tmp/cargo-installF3SKCi/release/deps/libindexmap-a6dc4557ca6b7135.rlib --extern jsonc_parser=/tmp/cargo-installF3SKCi/release/deps/libjsonc_parser-f823772e6ce8e4b8.rlib --extern libc=/tmp/cargo-installF3SKCi/release/deps/liblibc-87497658c8d1425c.rlib --extern log=/tmp/cargo-installF3SKCi/release/deps/liblog-397e7166c6e9716f.rlib --extern lsp_types=/tmp/cargo-installF3SKCi/release/deps/liblsp_types-35feb1f18bf9ba0e.rlib --extern lzzzz=/tmp/cargo-installF3SKCi/release/deps/liblzzzz-5a605d51ab110a99.rlib --extern mitata=/tmp/cargo-installF3SKCi/release/deps/libmitata-416f9d94b04c01fb.rlib --extern monch=/tmp/cargo-installF3SKCi/release/deps/libmonch-3c9c8d0b7a833dba.rlib --extern napi_sym=/tmp/cargo-installF3SKCi/release/deps/libnapi_sym-ef29a63d09c466a9.so --extern nix=/tmp/cargo-installF3SKCi/release/deps/libnix-21578c108535421d.rlib --extern notify=/tmp/cargo-installF3SKCi/release/deps/libnotify-fb2827ebc245d3b4.rlib --extern once_cell=/tmp/cargo-installF3SKCi/release/deps/libonce_cell-4bdf7a7dbfb0d3af.rlib --extern os_pipe=/tmp/cargo-installF3SKCi/release/deps/libos_pipe-ac05d8e8952b9020.rlib --extern percent_encoding=/tmp/cargo-installF3SKCi/release/deps/libpercent_encoding-40a13abe5af30a9e.rlib --extern pin_project=/tmp/cargo-installF3SKCi/release/deps/libpin_project-289e48e334843b78.rlib --extern rand=/tmp/cargo-installF3SKCi/release/deps/librand-d8821a0c7d32656e.rlib --extern regex=/tmp/cargo-installF3SKCi/release/deps/libregex-f790657814a6dfb2.rlib --extern ring=/tmp/cargo-installF3SKCi/release/deps/libring-5e0e060234b47b13.rlib --extern rustyline=/tmp/cargo-installF3SKCi/release/deps/librustyline-bb868cac757daaa9.rlib --extern rustyline_derive=/tmp/cargo-installF3SKCi/release/deps/librustyline_derive-d7717e3254753fd5.so --extern semver=/tmp/cargo-installF3SKCi/release/deps/libsemver-2fed88a39fffc1a4.rlib --extern serde=/tmp/cargo-installF3SKCi/release/deps/libserde-8c77fc8ed83d51f1.rlib --extern serde_repr=/tmp/cargo-installF3SKCi/release/deps/libserde_repr-10dac363acd009f0.so --extern shell_escape=/tmp/cargo-installF3SKCi/release/deps/libshell_escape-cce122bf954536a8.rlib --extern tar=/tmp/cargo-installF3SKCi/release/deps/libtar-e25397413bf08077.rlib --extern secure_tempfile=/tmp/cargo-installF3SKCi/release/deps/libtempfile-cb6c48ce1f0fc76b.rlib --extern text_size=/tmp/cargo-installF3SKCi/release/deps/libtext_size-206cf2a4dd379e0d.rlib --extern text_lines=/tmp/cargo-installF3SKCi/release/deps/libtext_lines-7fd0b0e9fdb2e6fd.rlib --extern tokio=/tmp/cargo-installF3SKCi/release/deps/libtokio-d89d099f03c76e88.rlib --extern tokio_util=/tmp/cargo-installF3SKCi/release/deps/libtokio_util-29d13bdadfb22697.rlib --extern tower_lsp=/tmp/cargo-installF3SKCi/release/deps/libtower_lsp-cd7b5e7c88885d16.rlib --extern twox_hash=/tmp/cargo-installF3SKCi/release/deps/libtwox_hash-13a0ae807e673197.rlib --extern typed_arena=/tmp/cargo-installF3SKCi/release/deps/libtyped_arena-213d389c86b3fc6c.rlib --extern uuid=/tmp/cargo-installF3SKCi/release/deps/libuuid-c8efef8ea932e23a.rlib --extern walkdir=/tmp/cargo-installF3SKCi/release/deps/libwalkdir-6787b1bfed41038d.rlib --extern zstd=/tmp/cargo-installF3SKCi/release/deps/libzstd-3a32007e13ddaf41.rlib --cap-lints allow -C link-arg=-rdynamic -L /tmp/cargo-installF3SKCi/release/gn_out/obj -L native=/tmp/cargo-installF3SKCi/release/build/libsqlite3-sys-ea0f85390161e1ea/out -L native=/tmp/cargo-installF3SKCi/release/build/ring-9238fa2ae41a9d52/out -L /tmp/cargo-installF3SKCi/release/build/libffi-sys-c1f76a09561f5818/out/libffi-root/lib -L /tmp/cargo-installF3SKCi/release/build/libffi-sys-c1f76a09561f5818/out/libffi-root/lib64 -L native=/tmp/cargo-installF3SKCi/release/build/lzzzz-e9fad1b2266e2084/out -L native=/tmp/cargo-installF3SKCi/release/build/zstd-sys-f7d7363a6f2e0127/out` (signal: 9, SIGKILL: kill)
error: failed to compile `deno v1.29.2`, intermediate artifacts can be found at `/tmp/cargo-installF3SKCi`

最後の Compile で失敗

Please use glibc 2.35 or later for an optimised build.

glibc 2.35 が必要

pi@pi:~ $ ldd --version
ldd (Debian GLIBC 2.31-13+rpt2+rpi1+deb11u4) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

インストールされているバージョンは、 2.31

バージョンアップが必要

Raspberry Pi のパッケージを更新してみる

sudo apt update
sudo apt upgrade
pi@pi:~ $ ldd --version
ldd (Debian GLIBC 2.31-13+rpt2+rpi1+deb11u5) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

変わらなかった。

Debian 11 bullseye の glibc は 2.31 のようだ。

packages.debian.org

Debian のバージョンをあげるしかないのかな。