cloudflare / cloudflare/workers-wasi

Build with docker on arm64 Apple silicon does not work

Open
#31 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
159
Forks
16
PR merge metrics
No merged PRs in 30d

Description

Hello,

I tried following the steps to build with docker on a MacBook with a arm64 CPU, but the docker images used for the build have precompiled x86 binaries which fail to be executed by Rosetta:

```
$ docker run --rm -it -v $(pwd):/workers-wasi workers-wasi-build

npm install --no-audit --no-optional --no-fund --no-progress --quiet
mkdir -p deps
curl -sLo wasi-sdk.tar.gz https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-13/wasi-sdk-13.0-linux.tar.gz

added 3 packages in 11s
npm notice
npm notice New major version of npm available! 8.5.5 -> 10.8.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.2
npm notice Run npm install -g npm@10.8.2 to update!
npm notice
touch node_modules
echo 'aea04267dd864a2f41e21f6cc43591b73dd8901e1ad4e87decf8c4b5905c73cf wasi-sdk.tar.gz' | sha256sum -c
wasi-sdk.tar.gz: OK
tar zxf wasi-sdk.tar.gz --touch -C deps
rm wasi-sdk.tar.gz
mkdir -p build/obj/deps/littlefs
mkdir -p build/obj/deps/littlefs
mkdir -p build/obj/deps/littlefs/bd
mkdir -p build/obj/src
mkdir -p build/obj/src
/workers-wasi/deps/wasi-sdk-13.0/bin/clang -target wasm32-wasi --sysroot=/workers-wasi/deps/wasi-sdk-13.0/share/wasi-sysroot -c -Oz -flto -I ./deps/rapidjson/include -I./deps/littlefs -fno-exceptions -include ./src/config.h -std=c++20 src/util.cc -o build/obj/src/util.o
/workers-wasi/deps/wasi-sdk-13.0/bin/clang -target wasm32-wasi --sysroot=/workers-wasi/deps/wasi-sdk-13.0/share/wasi-sysroot -c -Oz -flto -I ./deps/rapidjson/include -I./deps/littlefs -fno-exceptions -include ./src/config.h deps/littlefs/lfs.c -o build/obj/deps/littlefs/lfs.o
/workers-wasi/deps/wasi-sdk-13.0/bin/clang -target wasm32-wasi --sysroot=/workers-wasi/deps/wasi-sdk-13.0/share/wasi-sysroot -c -Oz -flto -I ./deps/rapidjson/include -I./deps/littlefs -fno-exceptions -include ./src/config.h deps/littlefs/lfs_util.c -o build/obj/deps/littlefs/lfs_util.o
/workers-wasi/deps/wasi-sdk-13.0/bin/clang -target wasm32-wasi --sysroot=/workers-wasi/deps/wasi-sdk-13.0/share/wasi-sysroot -c -Oz -flto -I ./deps/rapidjson/include -I./deps/littlefs -fno-exceptions -include ./src/config.h deps/littlefs/bd/lfs_rambd.c -o build/obj/deps/littlefs/bd/lfs_rambd.o
/workers-wasi/deps/wasi-sdk-13.0/bin/clang -target wasm32-wasi --sysroot=/workers-wasi/deps/wasi-sdk-13.0/share/wasi-sysroot -c -Oz -flto -I ./deps/rapidjson/include -I./deps/littlefs -fno-exceptions -include ./src/config.h -std=c++20 src/memfs.cc -o build/obj/src/memfs.o
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2
make: *** [Makefile:37: build/obj/deps/littlefs/bd/lfs_rambd.o] Trace/breakpoint trap
make: *** Waiting for unfinished jobs....
make: *** [Makefile:41: build/obj/src/util.o] Trace/breakpoint trap
make: *** [Makefile:37: build/obj/deps/littlefs/lfs.o] Trace/breakpoint trap
make: *** [Makefile:37: build/obj/deps/littlefs/lfs_util.o] Trace/breakpoint trap
make: *** [Makefile:41: build/obj/src/memfs.o] Trace/breakpoint trap
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.