Skip to content

Fails to build for linux/aarch64 and no pre-built binary available via Releases for ARM linux. #234

@corigne

Description

@corigne

I'm currently working with a studio to improve development workflow on a fairly large project. I'm moving the team from native, disparate development environments to a devcontainer based workflow for a few reasons, primarily to eliminate "it works on my machine" problems.

For most of the devs, this already works out of the box. However, microsoft's current implementation of docker-in-docker for macOS is preventing us from running amd64 devcontainer docker guests on ARM equipped macOS machines, forcing our apple silicon hosted devcontainer guests to use linux/aarch64. As a result we're unable to easily install several roblox dev-tools in our toolchain via rokit/aftman, including wally. Installing wally via rokit/aftman results in an x86 binary being downloaded on linux/aarch64 systems. This is not ideal, so we are attempted to work around this by building from source via cargo. Unfortunately, we are also unable to build wally with cargo targeting linux/aarch64.

This is the current result via cargo install --git https://github.com/UpliftGames/wally wally:

Compiling wally v0.3.2 (/usr/local/cargo/git/checkouts/wally-cfda262fb8600d64/f578078)
error[E0599]: no function or associated item named `new_multi_thread` found for struct `tokio::runtime::Builder` in the current scope
   --> src/installation.rs:100:48
    |
100 |         let runtime = tokio::runtime::Builder::new_multi_thread()
    |                                                ^^^^^^^^^^^^^^^^ function or associated item not found in `tokio::runtime::Builder`
    |
note: if you're trying to build a new `tokio::runtime::Builder`, consider using `tokio::runtime::Builder::new_current_thread` which returns `tokio::runtime::Builder`
   --> /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/builder.rs:234:5
    |
234 |     pub fn new_current_thread() -> Builder {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: there is an associated function `new_current_thread` with a similar name
    |
100 -         let runtime = tokio::runtime::Builder::new_multi_thread()
100 +         let runtime = tokio::runtime::Builder::new_current_thread()
    |

For more information about this error, try `rustc --explain E0599`.
error: could not compile `wally` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `wally v0.3.2 (https://github.com/UpliftGames/wally#f5780784)`, intermediate artifacts can be found at `/tmp/cargo-installHsIZqx`.

Would it be possible to support linux/aarch64 targets in the future, including deployment of binaries via rokit, for these kinds of workflows?

Thanks for taking the time to read! We're very appreciative of the work you've done with wally!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions