moon
moon copied to clipboard
[bug] proto-plugin.toml {libc} placeholder fails to work.
Describe the bug
Attempting to install moon via the proto plugin on Alpine docker image installs the wrong version. Manually editing the proto-plugin.toml to specify -musl rather than -{libc} fixes the issue.
Steps to reproduce Dockerfile
FROM alpine:latest
RUN apk update
RUN apk add --no-cache wget git
RUN wget https://github.com/moonrepo/proto/releases/download/v0.30.2/proto_cli-aarch64-unknown-linux-musl.tar.xz
RUN tar -xf proto_cli-aarch64-unknown-linux-musl.tar.xz
RUN mkdir -p /root/.proto/bin
RUN mv proto_cli-aarch64-unknown-linux-musl/proto /root/.proto/bin
RUN mv proto_cli-aarch64-unknown-linux-musl/proto-shim /root/.proto/bin
RUN chmod +x /root/.proto/bin/proto /root/.proto/bin/proto-shim
# This is the edited plugin
#RUN mkdir -p /root/.proto/plugins
#COPY ./moon-plugin.toml /root/.proto/plugins/moon-plugin.toml
RUN proto tool add moon "source:https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml"
#RUN /root/.proto/bin/proto tool add moon "source:/root/.proto/plugins/moon-plugin.toml"
RUN /root/.proto/bin/proto install moon
ENTRYPOINT [ "sh" ]
Expected behavior
For the {libc} placeholder to correctly install moon on Arm64 Alpine docker image.
Environment
Mac M1 Max Sonoma: 14.2.1 (23C71)
Docker Engine: 25.0.3
Alpine: latest arm64
@JordanXtern This is the commands we run to check for musl, can you run them and see what the output is?
https://github.com/moonrepo/proto/blob/master/crates/warpgate-pdk/src/funcs.rs#L165 https://github.com/moonrepo/schema-plugin/blob/master/src/proto.rs#L187
Yeah, this is the output:
# ldd --version
musl libc (aarch64)
Version 1.2.4_git20230717
Dynamic Program Loader
Usage: /lib/ld-musl-aarch64.so.1 [options] [--] pathname
# uname
Linux
# uname -a
Linux 25837c5f2d31 6.6.12-linuxkit #1 SMP Thu Feb 8 06:36:34 UTC 2024 aarch64 Linux
I also realized I was getting an older version (v0.30.2) but I changed to v0.31.1 and still behaves as before.
@JordanXtern This is unusual. I wonder if docker is causing the wrong os to be reported.
Can you set PROTO_LOG=trace
in docker and send the output?
@milesj
PROTO_LOG=trace /root/.proto/bin/proto tool add moon "source:https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml"
[DEBUG 2024-03-03 22:48:12.330] proto Running proto v0.31.1 bin="/root/.proto/bin/proto" args=["tool", "add", "moon", "source:https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml"] pid=61
[TRACE 22:48:12.331] starbase::app Running startup phase with 2 systems
[DEBUG 22:48:12.331] proto_core::proto:detect_proto_env Creating proto environment, detecting store store="/root/.proto"
[TRACE 22:48:12.331] starbase::app Running analyze phase with 3 systems
[TRACE 22:48:12.331] proto_core::proto_config:load_proto_configs Traversing upwards and loading .prototools files
[DEBUG 22:48:12.331] proto_core::proto_config:load_proto_configs Loading .prototools file="/.prototools"
[TRACE 22:48:12.331] starbase_utils::fs:load_proto_configs Reading file file="/.prototools"
[TRACE 22:48:12.331] schematic::config::loader:load_proto_configs Loading partial configuration config="ProtoConfig"
[TRACE 22:48:12.331] schematic::config::loader:load_proto_configs Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 22:48:12.331] schematic::config::loader:load_proto_configs Merging partial layers into a final result config="ProtoConfig"
[DEBUG 22:48:12.331] proto_core::proto_config:load_proto_configs Merging loaded configs
[DEBUG 22:48:12.332] proto_core::proto_config:load_proto_configs Merged 1 configs
[TRACE 22:48:12.332] starbase::app Running execute phase with 3 systems
[TRACE 22:48:12.332] proto_core::helpers:check_for_new_version:is_offline Checking for an internet connection timeout=750
[DEBUG 22:48:12.333] proto_core::proto_config:add Loading .prototools file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs:add Opening file file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Locking file file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Unlocking file file="/.prototools"
[TRACE 22:48:12.333] schematic::config::loader:add Loading partial configuration config="ProtoConfig"
[TRACE 22:48:12.333] schematic::config::loader:add Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 22:48:12.333] schematic::config::loader:add Merging partial layers into a final result config="ProtoConfig"
[TRACE 22:48:12.333] starbase_utils::fs:add Creating file without truncating file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Locking file exclusively file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Writing file file="/.prototools"
[TRACE 22:48:12.334] starbase_utils::fs_lock:add Unlocking file exclusively file="/.prototools"
[TRACE 22:48:12.334] proto_core::helpers Resolving 1.1.1.1:53
[ INFO 22:48:12.334] proto::commands::plugin::add:add Added plugin moon to config /.prototools
[TRACE 22:48:12.363] proto_core::helpers:check_for_new_version:is_offline Online!
[TRACE 22:48:12.363] starbase_utils::fs:check_for_new_version Reading file file="/root/.proto/temp/.last-version-check"
[TRACE 22:48:12.364] starbase::app Running shutdown phase with 1 systems
PROTO_LOG=trace /root/.proto/bin/proto tool add moon "source:https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml"
[DEBUG 2024-03-03 22:48:12.330] proto Running proto v0.31.1 bin="/root/.proto/bin/proto" args=["tool", "add", "moon", "source:https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml"] pid=61
[TRACE 22:48:12.331] starbase::app Running startup phase with 2 systems
[DEBUG 22:48:12.331] proto_core::proto:detect_proto_env Creating proto environment, detecting store store="/root/.proto"
[TRACE 22:48:12.331] starbase::app Running analyze phase with 3 systems
[TRACE 22:48:12.331] proto_core::proto_config:load_proto_configs Traversing upwards and loading .prototools files
[DEBUG 22:48:12.331] proto_core::proto_config:load_proto_configs Loading .prototools file="/.prototools"
[TRACE 22:48:12.331] starbase_utils::fs:load_proto_configs Reading file file="/.prototools"
[TRACE 22:48:12.331] schematic::config::loader:load_proto_configs Loading partial configuration config="ProtoConfig"
[TRACE 22:48:12.331] schematic::config::loader:load_proto_configs Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 22:48:12.331] schematic::config::loader:load_proto_configs Merging partial layers into a final result config="ProtoConfig"
[DEBUG 22:48:12.331] proto_core::proto_config:load_proto_configs Merging loaded configs
[DEBUG 22:48:12.332] proto_core::proto_config:load_proto_configs Merged 1 configs
[TRACE 22:48:12.332] starbase::app Running execute phase with 3 systems
[TRACE 22:48:12.332] proto_core::helpers:check_for_new_version:is_offline Checking for an internet connection timeout=750
[DEBUG 22:48:12.333] proto_core::proto_config:add Loading .prototools file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs:add Opening file file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Locking file file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Unlocking file file="/.prototools"
[TRACE 22:48:12.333] schematic::config::loader:add Loading partial configuration config="ProtoConfig"
[TRACE 22:48:12.333] schematic::config::loader:add Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 22:48:12.333] schematic::config::loader:add Merging partial layers into a final result config="ProtoConfig"
[TRACE 22:48:12.333] starbase_utils::fs:add Creating file without truncating file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Locking file exclusively file="/.prototools"
[TRACE 22:48:12.333] starbase_utils::fs_lock:add Writing file file="/.prototools"
[TRACE 22:48:12.334] starbase_utils::fs_lock:add Unlocking file exclusively file="/.prototools"
[TRACE 22:48:12.334] proto_core::helpers Resolving 1.1.1.1:53
[ INFO 22:48:12.334] proto::commands::plugin::add:add Added plugin moon to config /.prototools
[TRACE 22:48:12.363] proto_core::helpers:check_for_new_version:is_offline Online!
[TRACE 22:48:12.363] starbase_utils::fs:check_for_new_version Reading file file="/root/.proto/temp/.last-version-check"
[TRACE 22:48:12.364] starbase::app Running shutdown phase with 1 systems
/ # PROTO_LOG=trace /root/.proto/bin/proto install moon
[DEBUG 2024-03-03 22:49:10.023] proto Running proto v0.31.1 bin="/root/.proto/bin/proto" args=["install", "moon"] pid=73
[TRACE 22:49:10.023] starbase::app Running startup phase with 2 systems
[DEBUG 22:49:10.024] proto_core::proto:detect_proto_env Creating proto environment, detecting store store="/root/.proto"
[TRACE 22:49:10.024] starbase::app Running analyze phase with 3 systems
[TRACE 22:49:10.024] proto_core::proto_config:load_proto_configs Traversing upwards and loading .prototools files
[DEBUG 22:49:10.024] proto_core::proto_config:load_proto_configs Loading .prototools file="/.prototools"
[TRACE 22:49:10.024] starbase_utils::fs:load_proto_configs Reading file file="/.prototools"
[TRACE 22:49:10.024] schematic::config::loader:load_proto_configs Loading partial configuration config="ProtoConfig"
[TRACE 22:49:10.024] schematic::config::loader:load_proto_configs Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 22:49:10.025] schematic::config::loader:load_proto_configs Merging partial layers into a final result config="ProtoConfig"
[DEBUG 22:49:10.025] proto_core::proto_config:load_proto_configs Merging loaded configs
[DEBUG 22:49:10.025] proto_core::proto_config:load_proto_configs Merged 1 configs
[TRACE 22:49:10.025] starbase::app Running execute phase with 3 systems
[TRACE 22:49:10.026] proto_core::helpers:check_for_new_version:is_offline Checking for an internet connection timeout=750
[TRACE 22:49:10.026] proto_core::helpers Resolving 1.1.1.1:53
[DEBUG 22:49:10.027] proto_core::tool_loader:install Finding a configured plugin tool="moon"
[DEBUG 22:49:10.027] proto_core::tool_loader:install Found a plugin file="/.prototools" plugin="source:https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml"
[TRACE 22:49:10.027] warpgate::loader:install Creating plugin loader cache_dir="/root/.proto/plugins"
[TRACE 22:49:10.027] warpgate::loader:install Loading plugin moon id="moon"
[TRACE 22:49:10.027] warpgate::loader:install Plugin not cached, downloading id="moon"
[TRACE 22:49:10.027] proto_core::helpers:install:is_offline Checking for an internet connection timeout=750
[TRACE 22:49:10.028] proto_core::helpers Resolving 1.1.1.1:53
[TRACE 22:49:10.068] proto_core::helpers:check_for_new_version:is_offline Online!
[TRACE 22:49:10.068] proto_core::helpers:install:is_offline Online!
[TRACE 22:49:10.069] warpgate::loader:install Downloading plugin from URL id="moon" from="https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml" to="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[TRACE 22:49:10.069] starbase_utils::fs:check_for_new_version Reading file file="/root/.proto/temp/.last-version-check"
[DEBUG 22:49:10.069] warpgate::client:install Creating HTTP client
[DEBUG 22:49:10.071] warpgate::client:install Created HTTP client
[TRACE 22:49:10.202] starbase_utils::fs:install Writing file file="/root/.proto/temp/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[TRACE 22:49:10.202] starbase_utils::fs:install Creating directory dir="/root/.proto/plugins"
[TRACE 22:49:10.202] starbase_utils::fs:install Renaming file from="/root/.proto/temp/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml" to="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[DEBUG 22:49:10.203] proto_core::tool_loader:install Loading TOML plugin source="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[DEBUG 22:49:10.203] proto_core::tool_loader:install Finding a configured plugin tool="internal-schema"
[DEBUG 22:49:10.203] proto_core::tool_loader:install Using a built-in plugin plugin="source:https://github.com/moonrepo/schema-plugin/releases/download/v0.10.0/schema_plugin.wasm"
[TRACE 22:49:10.203] warpgate::loader:install Loading plugin internal-schema id="internal-schema"
[TRACE 22:49:10.203] warpgate::loader:install Plugin not cached, downloading id="internal-schema"
[TRACE 22:49:10.203] warpgate::loader:install Downloading plugin from URL id="internal-schema" from="https://github.com/moonrepo/schema-plugin/releases/download/v0.10.0/schema_plugin.wasm" to="/root/.proto/plugins/internal-schema-dbe90ef92f2f0efea769e2e710949b5d77d8c5f350e707d0ab69e9eb94818a3f.wasm"
[TRACE 22:49:10.667] starbase_utils::fs:install Writing file file="/root/.proto/temp/internal-schema-dbe90ef92f2f0efea769e2e710949b5d77d8c5f350e707d0ab69e9eb94818a3f.wasm"
[TRACE 22:49:10.669] starbase_utils::fs:install Renaming file from="/root/.proto/temp/internal-schema-dbe90ef92f2f0efea769e2e710949b5d77d8c5f350e707d0ab69e9eb94818a3f.wasm" to="/root/.proto/plugins/internal-schema-dbe90ef92f2f0efea769e2e710949b5d77d8c5f350e707d0ab69e9eb94818a3f.wasm"
[TRACE 22:49:10.669] starbase_utils::fs:install Reading file file="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[TRACE 22:49:10.669] starbase_utils::toml:install Parsing TOML file="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[TRACE 22:49:10.670] proto_core::tool_loader:install Storing schema settings schema={"install":{"download-url":"https://github.com/moonrepo/moon/releases/download/v{version}/{download_file}"},"metadata":{"self-upgrade-commands":["upgrade"]},"name":"moon","platform":{"linux":{"download-file":"moon-{arch}-unknown-linux-{libc}"},"macos":{"download-file":"moon-{arch}-apple-darwin"},"windows":{"download-file":"moon-{arch}-pc-windows-msvc.exe"}},"resolve":{"git-url":"https://github.com/moonrepo/moon"},"type":"cli"}
[TRACE 22:49:10.670] warpgate::plugin:install Storing plugin identifier id="moon"
[TRACE 22:49:10.670] warpgate::plugin:install Storing host environment env={"arch":"arm64","os":"linux","home_dir":{"path":"/userhome/","virtual_prefix":"/userhome","real_prefix":"/root"}}
[DEBUG 22:49:10.670] proto_core::tool:install Creating tool moon and instantiating plugin
[TRACE 22:49:11.425] warpgate::plugin:install Created plugin container id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb
[DEBUG 22:49:11.426] proto_core::tool:install Created tool moon and its WASM runtime
[DEBUG 22:49:11.426] proto_core::tool_manifest:install Loading manifest.json file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:11.426] warpgate::plugin:install Calling plugin function register_tool id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb input={"id":"moon"}
[TRACE 22:49:11.426] warpgate::plugin:install Called plugin function register_tool id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb output={"inventory":{},"name":"moon","plugin_version":"0.10.0","self_upgrade_commands":["upgrade"],"type":"CLI"}
[DEBUG 22:49:11.426] proto_core::tool:install Resolving a semantic version or alias tool="moon" initial_version="latest"
[DEBUG 22:49:11.426] proto_core::tool:install Loading available versions tool="moon"
[TRACE 22:49:11.426] warpgate::plugin:install Calling plugin function load_versions id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb input={"initial":"latest"}
[DEBUG 22:49:11.426] extism::pdk:install Loading Git tags from remote https://github.com/moonrepo/moon plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.426] warpgate::host_funcs:install Executing command from plugin command="git" args=["ls-remote", "--tags", "--sort", "version:refname", "https://github.com/moonrepo/moon"] env={} cwd="/"
[TRACE 22:49:11.672] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/git" exit_code=0 stderr_len=0 stdout_len=110995
[DEBUG 22:49:11.673] extism::pdk:install Loaded 1337 Git tags plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.674] warpgate::plugin:install Called plugin function load_versions id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb output={"latest":"1.22.3","aliases":{"latest":"1.22.3"},"versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.1.0","1.1.1","1.2.0","1.2.1","1.2.2","1.3.0","1.3.1","1.3.2","1.4.0","1.5.0","1.5.1","1.6.0","1.6.1","1.7.0","1.7.1","1.7.2","1.7.3","1.8.0","1.8.1","1.8.2","1.8.3","1.9.0","1.9.1","1.9.2","1.10.0","1.10.1","1.11.0","1.11.1","1.12.0","1.12.1","1.13.0","1.13.1","1.13.2","1.13.3","1.13.4","1.13.5","1.14.0","1.14.1","1.14.2","1.14.3","1.14.4","1.14.5","1.15.0","1.15.1","1.15.2","1.15.3","1.15.4","1.16.0","1.16.1","1.16.2","1.16.3","1.16.4","1.16.5","1.17.0","1.17.1","1.17.2","1.17.3","1.17.4","1.18.0","1.18.1","1.18.2","1.18.3","1.18.4","1.18.5","1.19.0","1.19.1","1.19.2","1.19.3","1.20.0","1.20.1","1.21.0","1.21.1","1.21.2","1.21.3","1.21.4","1.22.0","1.22.1","1.22.2","1.22.3"]}
[TRACE 22:49:11.674] starbase_utils::json:install Stringifying JSON file="/root/.proto/tools/moon/remote-versions.json"
[TRACE 22:49:11.674] starbase_utils::fs:install Creating directory dir="/root/.proto/tools/moon"
[TRACE 22:49:11.674] starbase_utils::fs:install Writing file file="/root/.proto/tools/moon/remote-versions.json"
[DEBUG 22:49:11.675] proto_core::tool:install Resolved to 1.22.3 tool="moon" version="1.22.3"
[DEBUG 22:49:11.675] proto_core::tool:install Checking if tool is installed tool="moon" install_dir="/root/.proto/tools/moon/1.22.3"
[DEBUG 22:49:11.675] proto_core::tool:install Tool has not been installed tool="moon"
[DEBUG 22:49:11.675] proto::commands::install:install Installing moon with version 1.22.3 (from latest)
━━ Installing moon 1.22.3 [TRACE 22:49:11.675] starbase_utils::fs:install Creating directory dir="/root/.proto/tools/moon/1.22.3"
[TRACE 22:49:11.675] starbase_utils::fs_lock:install Locking directory dir="/root/.proto/tools/moon/1.22.3"
[TRACE 22:49:11.675] starbase_utils::fs:install Creating file without truncating file="/root/.proto/tools/moon/1.22.3/.lock"
[TRACE 22:49:11.675] starbase_utils::fs_lock:install Waiting to acquire lock on directory lock="/root/.proto/tools/moon/1.22.3/.lock"
[TRACE 22:49:11.675] starbase_utils::fs_lock:install Acquired lock on directory, writing PID lock="/root/.proto/tools/moon/1.22.3/.lock" pid=73
[DEBUG 22:49:11.675] proto_core::tool:install Installing tool from a pre-built archive tool="moon"
[TRACE 22:49:11.675] warpgate::plugin:install Calling plugin function download_prebuilt id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb input={"context":{"proto_version":"0.31.3","tool_dir":{"path":"/proto/tools/moon/1.22.3","virtual_prefix":"/proto","real_prefix":"/root/.proto"},"version":"1.22.3"},"install_dir":{"path":"/proto/tools/moon/1.22.3","virtual_prefix":"/proto","real_prefix":"/root/.proto"}}
[DEBUG 22:49:11.675] extism::pdk:install Checking if host is using musl plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[DEBUG 22:49:11.676] extism::pdk:install Checking if command ldd exists on the host plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.676] warpgate::host_funcs:install Executing command from plugin command="which" args=["ldd"] env={} cwd="/"
[TRACE 22:49:11.677] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/which" exit_code=0 stderr_len=0 stdout_len=13
[DEBUG 22:49:11.677] extism::pdk:install Command does exist plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.677] warpgate::host_funcs:install Executing command from plugin command="ldd" args=["--version"] env={} cwd="/"
[TRACE 22:49:11.678] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/ldd" exit_code=1 stderr_len=126 stdout_len=0
[TRACE 22:49:11.679] warpgate::host_funcs:install Executing command from plugin command="uname" args=[] env={} cwd="/"
[TRACE 22:49:11.680] warpgate::host_funcs:install Executed command from plugin command="/bin/uname" exit_code=0 stderr_len=0 stdout_len=6
[DEBUG 22:49:11.680] extism::pdk:install Host is NOT using musl plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.680] warpgate::plugin:install Called plugin function download_prebuilt id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb output={"checksum_name":"CHECKSUM.txt","download_name":"moon-aarch64-unknown-linux-gnu","download_url":"https://github.com/moonrepo/moon/releases/download/v1.22.3/moon-aarch64-unknown-linux-gnu"}
[DEBUG 22:49:11.680] proto_core::tool:install Tool not downloaded, downloading tool="moon"
━━━ Installing moon 1.22.3 [TRACE 22:49:13.669] starbase_utils::fs:install Creating directory dir="/root/.proto/temp/moon/1.22.3"
[TRACE 22:49:13.670] starbase_utils::fs:install Writing file file="/root/.proto/temp/moon/1.22.3/moon-aarch64-unknown-linux-gnu"
[DEBUG 22:49:13.709] proto_core::tool:install Attempting to unpack archive tool="moon" download_file="/root/.proto/temp/moon/1.22.3/moon-aarch64-unknown-linux-gnu" install_dir="/root/.proto/tools/moon/1.22.3"
[TRACE 22:49:13.709] starbase_utils::fs:install Renaming file from="/root/.proto/temp/moon/1.22.3/moon-aarch64-unknown-linux-gnu" to="/root/.proto/tools/moon/1.22.3/moon"
[TRACE 22:49:13.710] starbase_utils::fs:install Updating file permissions file="/root/.proto/tools/moon/1.22.3/moon" mode="0o755"
[TRACE 22:49:13.710] starbase_utils::fs_lock:install Unlocking directory dir="/root/.proto/tools/moon/1.22.3"
[TRACE 22:49:13.710] starbase_utils::fs:install Removing file file="/root/.proto/tools/moon/1.22.3/.lock"
[DEBUG 22:49:13.710] proto_core::tool:install Successfully installed tool tool="moon" install_dir="/root/.proto/tools/moon/1.22.3"
[TRACE 22:49:13.710] starbase_utils::fs_lock:install Unlocking directory dir="/root/.proto/tools/moon/1.22.3"
[DEBUG 22:49:13.710] proto_core::tool:install Locating executable for tool tool="moon"
[TRACE 22:49:13.710] warpgate::plugin:install Calling plugin function locate_executables id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb input={"context":{"proto_version":"0.31.3","tool_dir":{"path":"/proto/tools/moon/1.22.3","virtual_prefix":"/proto","real_prefix":"/root/.proto"},"version":"1.22.3"}}
[TRACE 22:49:13.711] warpgate::plugin:install Called plugin function locate_executables id="moon" plugin=63030ec7-6449-409a-a180-7292a8c1ceeb output={"primary":{"exe_path":"moon"}}
[DEBUG 22:49:13.711] proto_core::tool:install Found an executable tool="moon" exe_path="/root/.proto/tools/moon/1.22.3/moon"
[DEBUG 22:49:13.711] proto_core::tool:install Creating shims as they either do not exist, or are outdated tool="moon" shims_dir="/root/.proto/shims" shim_version=13
[DEBUG 22:49:13.711] proto_core::tool_manifest:install Saving manifest file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.711] starbase_utils::fs:install Creating file without truncating file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.711] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.711] starbase_utils::fs_lock:install Writing file file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.711] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.711] starbase_utils::fs:install Reading bytes of file file="/root/.proto/bin/proto-shim"
[TRACE 22:49:13.712] starbase_utils::fs:install Creating directory dir="/root/.proto/shims"
[DEBUG 22:49:13.713] proto_core::tool:install Creating shim tool="moon" shim="/root/.proto/shims/moon" shim_version=13
[TRACE 22:49:13.713] starbase_utils::fs:install Creating file without truncating file="/root/.proto/shims/registry.json"
[TRACE 22:49:13.713] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/shims/registry.json"
[TRACE 22:49:13.713] starbase_utils::fs_lock:install Writing file file="/root/.proto/shims/registry.json"
[TRACE 22:49:13.713] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/shims/registry.json"
[DEBUG 22:49:13.713] proto_core::tool:install Creating binary symlink tool="moon" source="/root/.proto/tools/moon/1.22.3/moon" target="/root/.proto/bin/moon"
[DEBUG 22:49:13.713] proto_core::tool:install Cleaning up temporary files and downloads tool="moon"
[TRACE 22:49:13.713] starbase_utils::fs:install Removing directory dir="/root/.proto/temp/moon/1.22.3"
[DEBUG 22:49:13.714] proto_core::tool_manifest:install Saving manifest file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.714] starbase_utils::fs:install Creating file without truncating file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.714] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.714] starbase_utils::fs_lock:install Writing file file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.714] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 22:49:13.714] starbase_utils::fs:install Creating file without truncating file="/root/.proto/.prototools"
[TRACE 22:49:13.714] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/.prototools"
[TRACE 22:49:13.714] starbase_utils::fs_lock:install Writing file file="/root/.proto/.prototools"
[TRACE 22:49:13.714] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/.prototools"
[DEBUG 22:49:13.714] proto_core::tool:install Creating symlinks to the original tool executables tool="moon" bins_dir="/root/.proto/bin"
[DEBUG 22:49:13.714] proto_core::tool:install Creating binary symlink tool="moon" source="/root/.proto/tools/moon/1.22.3/moon" target="/root/.proto/bin/moon"
[TRACE 22:49:13.714] starbase_utils::fs:install Removing symlink file="/root/.proto/bin/moon"
[DEBUG 22:49:13.714] proto_core::proto_config:install Loading .prototools file="/root/.proto/.prototools"
[TRACE 22:49:13.714] starbase_utils::fs:install Opening file file="/root/.proto/.prototools"
[TRACE 22:49:13.715] starbase_utils::fs_lock:install Locking file file="/root/.proto/.prototools"
[TRACE 22:49:13.715] starbase_utils::fs_lock:install Unlocking file file="/root/.proto/.prototools"
[TRACE 22:49:13.715] schematic::config::loader:install Loading partial configuration config="ProtoConfig"
[TRACE 22:49:13.715] schematic::config::loader:install Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 22:49:13.715] schematic::config::loader:install Merging partial layers into a final result config="ProtoConfig"
[TRACE 22:49:13.715] starbase_utils::fs:install Creating file without truncating file="/root/.proto/.prototools"
[TRACE 22:49:13.715] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/.prototools"
[TRACE 22:49:13.715] starbase_utils::fs_lock:install Writing file file="/root/.proto/.prototools"
[TRACE 22:49:13.715] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/.prototools"
[DEBUG 22:49:13.715] proto::commands::pin:install Pinned the version version="1.22.3" config="/root/.proto/.prototools"
[ INFO 22:49:13.715] proto::commands::install:install moon has been installed to ~/.proto/tools/moon/1.22.3!
[TRACE 22:49:13.716] starbase_utils::fs:install Writing file file="/root/.proto/id"
[DEBUG 22:49:13.979] proto::commands::install:install Auto-cleaning plugins
[TRACE 22:49:13.979] starbase_utils::fs:install Reading directory dir="/root/.proto/plugins"
[TRACE 22:49:13.979] starbase_utils::fs:install Reading file metadata file="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[TRACE 22:49:13.979] starbase_utils::fs:install Reading file metadata file="/root/.proto/plugins/internal-schema-dbe90ef92f2f0efea769e2e710949b5d77d8c5f350e707d0ab69e9eb94818a3f.wasm"
[TRACE 22:49:13.994] starbase::app Running shutdown phase with 1 systems
@JordanXtern It looks like it is trying to check for it here:
[DEBUG 22:49:11.676] extism::pdk:install Checking if command ldd exists on the host plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.676] warpgate::host_funcs:install Executing command from plugin command="which" args=["ldd"] env={} cwd="/"
[TRACE 22:49:11.677] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/which" exit_code=0 stderr_len=0 stdout_len=13
[DEBUG 22:49:11.677] extism::pdk:install Command does exist plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
[TRACE 22:49:11.677] warpgate::host_funcs:install Executing command from plugin command="ldd" args=["--version"] env={} cwd="/"
[TRACE 22:49:11.678] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/ldd" exit_code=1 stderr_len=126 stdout_len=0
[TRACE 22:49:11.679] warpgate::host_funcs:install Executing command from plugin command="uname" args=[] env={} cwd="/"
[TRACE 22:49:11.680] warpgate::host_funcs:install Executed command from plugin command="/bin/uname" exit_code=0 stderr_len=0 stdout_len=6
[DEBUG 22:49:11.680] extism::pdk:install Host is NOT using musl plugin="63030ec7-6449-409a-a180-7292a8c1ceeb"
But looks like the ldd
command is failing with a 1 exit code... That's unusual.
Can you also set PROTO_DEBUG_COMMAND=1
. It'll show what the output of the command is.
TRACE 13:36:54.484] starbase_utils::json:install Stringifying JSON file="/root/.proto/tools/moon/remote-versions.json"
[TRACE 13:36:54.484] starbase_utils::fs:install Creating directory dir="/root/.proto/tools/moon"
[TRACE 13:36:54.484] starbase_utils::fs:install Writing file file="/root/.proto/tools/moon/remote-versions.json"
[DEBUG 13:36:54.484] proto_core::tool:install Resolved to 1.22.3 tool="moon" version="1.22.3"
[DEBUG 13:36:54.484] proto_core::tool:install Checking if tool is installed tool="moon" install_dir="/root/.proto/tools/moon/1.22.3"
[DEBUG 13:36:54.484] proto_core::tool:install Tool has not been installed tool="moon"
[DEBUG 13:36:54.484] proto::commands::install:install Installing moon with version 1.22.3 (from latest)
⠁ Installing moon 1.22.3 [TRACE 13:36:54.484] starbase_utils::fs:install Creating directory dir="/root/.proto/tools/moon/1.22.3"
[TRACE 13:36:54.484] starbase_utils::fs_lock:install Locking directory dir="/root/.proto/tools/moon/1.22.3"
[TRACE 13:36:54.484] starbase_utils::fs:install Creating file without truncating file="/root/.proto/tools/moon/1.22.3/.lock"
[TRACE 13:36:54.484] starbase_utils::fs_lock:install Waiting to acquire lock on directory lock="/root/.proto/tools/moon/1.22.3/.lock"
[TRACE 13:36:54.484] starbase_utils::fs_lock:install Acquired lock on directory, writing PID lock="/root/.proto/tools/moon/1.22.3/.lock" pid=71
[DEBUG 13:36:54.484] proto_core::tool:install Installing tool from a pre-built archive tool="moon"
[TRACE 13:36:54.485] warpgate::plugin:install Calling plugin function download_prebuilt id="moon" plugin=9dad936c-5c7f-4c17-8827-fa2eb650805c input={"context":{"proto_version":"0.31.3","tool_dir":{"path":"/proto/tools/moon/1.22.3","virtual_prefix":"/proto","real_prefix":"/root/.proto"},"version":"1.22.3"},"install_dir":{"path":"/proto/tools/moon/1.22.3","virtual_prefix":"/proto","real_prefix":"/root/.proto"}}
[DEBUG 13:36:54.485] extism::pdk:install Checking if host is using musl plugin="9dad936c-5c7f-4c17-8827-fa2eb650805c"
[DEBUG 13:36:54.485] extism::pdk:install Checking if command ldd exists on the host plugin="9dad936c-5c7f-4c17-8827-fa2eb650805c"
[TRACE 13:36:54.485] warpgate::host_funcs:install Executing command from plugin command="which" args=["ldd"] env={} cwd="/"
[TRACE 13:36:54.486] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/which" exit_code=0 stderr="" stderr_len=0 stdout="/usr/bin/ldd\n" stdout_len=13
[DEBUG 13:36:54.486] extism::pdk:install Command does exist plugin="9dad936c-5c7f-4c17-8827-fa2eb650805c"
[TRACE 13:36:54.486] warpgate::host_funcs:install Executing command from plugin command="ldd" args=["--version"] env={} cwd="/"
[TRACE 13:36:54.487] warpgate::host_funcs:install Executed command from plugin command="/usr/bin/ldd" exit_code=1 stderr="musl libc (aarch64)\nVersion 1.2.4_git20230717\nDynamic Program Loader\nUsage: /lib/ld-musl-aarch64.so.1 [options] [--] pathname\n" stderr_len=126 stdout="" stdout_len=0
[TRACE 13:36:54.487] warpgate::host_funcs:install Executing command from plugin command="uname" args=[] env={} cwd="/"
[TRACE 13:36:54.488] warpgate::host_funcs:install Executed command from plugin command="/bin/uname" exit_code=0 stderr="" stderr_len=0 stdout="Linux\n" stdout_len=6
[DEBUG 13:36:54.488] extism::pdk:install Host is NOT using musl plugin="9dad936c-5c7f-4c17-8827-fa2eb650805c"
[TRACE 13:36:54.488] warpgate::plugin:install Called plugin function download_prebuilt id="moon" plugin=9dad936c-5c7f-4c17-8827-fa2eb650805c output={"checksum_name":"CHECKSUM.txt","download_name":"moon-aarch64-unknown-linux-gnu","download_url":"https://github.com/moonrepo/moon/releases/download/v1.22.3/moon-aarch64-unknown-linux-gnu"}
[DEBUG 13:36:54.488] proto_core::tool:install Tool not downloaded, downloading tool="moon"
━ Installing moon 1.22.3 [TRACE 13:36:55.336] starbase_utils::fs:install Creating directory dir="/root/.proto/temp/moon/1.22.3"
[TRACE 13:36:55.337] starbase_utils::fs:install Writing file file="/root/.proto/temp/moon/1.22.3/moon-aarch64-unknown-linux-gnu"
[DEBUG 13:36:55.371] proto_core::tool:install Attempting to unpack archive tool="moon" download_file="/root/.proto/temp/moon/1.22.3/moon-aarch64-unknown-linux-gnu" install_dir="/root/.proto/tools/moon/1.22.3"
[TRACE 13:36:55.371] starbase_utils::fs:install Renaming file from="/root/.proto/temp/moon/1.22.3/moon-aarch64-unknown-linux-gnu" to="/root/.proto/tools/moon/1.22.3/moon"
[TRACE 13:36:55.371] starbase_utils::fs:install Updating file permissions file="/root/.proto/tools/moon/1.22.3/moon" mode="0o755"
[TRACE 13:36:55.371] starbase_utils::fs_lock:install Unlocking directory dir="/root/.proto/tools/moon/1.22.3"
[TRACE 13:36:55.371] starbase_utils::fs:install Removing file file="/root/.proto/tools/moon/1.22.3/.lock"
[DEBUG 13:36:55.371] proto_core::tool:install Successfully installed tool tool="moon" install_dir="/root/.proto/tools/moon/1.22.3"
[TRACE 13:36:55.371] starbase_utils::fs_lock:install Unlocking directory dir="/root/.proto/tools/moon/1.22.3"
[DEBUG 13:36:55.371] proto_core::tool:install Locating executable for tool tool="moon"
[TRACE 13:36:55.371] warpgate::plugin:install Calling plugin function locate_executables id="moon" plugin=9dad936c-5c7f-4c17-8827-fa2eb650805c input={"context":{"proto_version":"0.31.3","tool_dir":{"path":"/proto/tools/moon/1.22.3","virtual_prefix":"/proto","real_prefix":"/root/.proto"},"version":"1.22.3"}}
[TRACE 13:36:55.372] warpgate::plugin:install Called plugin function locate_executables id="moon" plugin=9dad936c-5c7f-4c17-8827-fa2eb650805c output={"primary":{"exe_path":"moon"}}
[DEBUG 13:36:55.372] proto_core::tool:install Found an executable tool="moon" exe_path="/root/.proto/tools/moon/1.22.3/moon"
[DEBUG 13:36:55.372] proto_core::tool:install Creating shims as they either do not exist, or are outdated tool="moon" shims_dir="/root/.proto/shims" shim_version=13
[DEBUG 13:36:55.372] proto_core::tool_manifest:install Saving manifest file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.372] starbase_utils::fs:install Creating file without truncating file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.372] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.372] starbase_utils::fs_lock:install Writing file file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.372] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.372] starbase_utils::fs:install Reading bytes of file file="/root/.proto/bin/proto-shim"
[TRACE 13:36:55.373] starbase_utils::fs:install Creating directory dir="/root/.proto/shims"
[DEBUG 13:36:55.373] proto_core::tool:install Creating shim tool="moon" shim="/root/.proto/shims/moon" shim_version=13
[TRACE 13:36:55.373] starbase_utils::fs:install Creating file without truncating file="/root/.proto/shims/registry.json"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/shims/registry.json"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Writing file file="/root/.proto/shims/registry.json"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/shims/registry.json"
[DEBUG 13:36:55.374] proto_core::tool:install Creating binary symlink tool="moon" source="/root/.proto/tools/moon/1.22.3/moon" target="/root/.proto/bin/moon"
[DEBUG 13:36:55.374] proto_core::tool:install Cleaning up temporary files and downloads tool="moon"
[TRACE 13:36:55.374] starbase_utils::fs:install Removing directory dir="/root/.proto/temp/moon/1.22.3"
[DEBUG 13:36:55.374] proto_core::tool_manifest:install Saving manifest file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.374] starbase_utils::fs:install Creating file without truncating file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Writing file file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/tools/moon/manifest.json"
[TRACE 13:36:55.374] starbase_utils::fs:install Creating file without truncating file="/root/.proto/.prototools"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/.prototools"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Writing file file="/root/.proto/.prototools"
[TRACE 13:36:55.374] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/.prototools"
[DEBUG 13:36:55.374] proto_core::tool:install Creating symlinks to the original tool executables tool="moon" bins_dir="/root/.proto/bin"
[DEBUG 13:36:55.375] proto_core::tool:install Creating binary symlink tool="moon" source="/root/.proto/tools/moon/1.22.3/moon" target="/root/.proto/bin/moon"
[TRACE 13:36:55.375] starbase_utils::fs:install Removing symlink file="/root/.proto/bin/moon"
[DEBUG 13:36:55.375] proto_core::proto_config:install Loading .prototools file="/root/.proto/.prototools"
[TRACE 13:36:55.375] starbase_utils::fs:install Opening file file="/root/.proto/.prototools"
[TRACE 13:36:55.375] starbase_utils::fs_lock:install Locking file file="/root/.proto/.prototools"
[TRACE 13:36:55.375] starbase_utils::fs_lock:install Unlocking file file="/root/.proto/.prototools"
[TRACE 13:36:55.375] schematic::config::loader:install Loading partial configuration config="ProtoConfig"
[TRACE 13:36:55.375] schematic::config::loader:install Creating layer from source config="ProtoConfig" source="<code>"
[TRACE 13:36:55.376] schematic::config::loader:install Merging partial layers into a final result config="ProtoConfig"
[TRACE 13:36:55.376] starbase_utils::fs:install Creating file without truncating file="/root/.proto/.prototools"
[TRACE 13:36:55.376] starbase_utils::fs_lock:install Locking file exclusively file="/root/.proto/.prototools"
[TRACE 13:36:55.376] starbase_utils::fs_lock:install Writing file file="/root/.proto/.prototools"
[TRACE 13:36:55.376] starbase_utils::fs_lock:install Unlocking file exclusively file="/root/.proto/.prototools"
[DEBUG 13:36:55.376] proto::commands::pin:install Pinned the version version="1.22.3" config="/root/.proto/.prototools"
[ INFO 13:36:55.376] proto::commands::install:install moon has been installed to ~/.proto/tools/moon/1.22.3!
[TRACE 13:36:55.378] starbase_utils::fs:install Writing file file="/root/.proto/id"
[DEBUG 13:36:55.607] proto::commands::install:install Auto-cleaning plugins
[TRACE 13:36:55.607] starbase_utils::fs:install Reading directory dir="/root/.proto/plugins"
[TRACE 13:36:55.607] starbase_utils::fs:install Reading file metadata file="/root/.proto/plugins/moon-e22f6b95e7775965b02874eabde6e38e680dccc50a570ac1f51214b8c81d6d73.toml"
[TRACE 13:36:55.607] starbase_utils::fs:install Reading file metadata file="/root/.proto/plugins/internal-schema-dbe90ef92f2f0efea769e2e710949b5d77d8c5f350e707d0ab69e9eb94818a3f.wasm"
[TRACE 13:36:55.622] starbase::app Running shutdown phase with 1 systems
It it piping the results to stderr rather than stdout: I found maybe relevant talk of this in this discussion: mapbox/node-pre-gyp#325
Ah well that is real dumb, but at least an easy fix!
@JordanXtern can you try 1.22.5
@milesj Moon v1.22.5 with proto 0.31.3 works!
Sweet