datonic / datadex

📦 Serverless and local-first Open Data Platform
http://datadex.datonic.io
MIT License
222 stars 14 forks source link

Rill fails to install when opening in devcontainer with M1 #13

Closed crucialfelix closed 1 year ago

crucialfelix commented 1 year ago

Very interested to try this out.

When I open this a devcontainer in VSCode it fails when on the last line of the Dockerfile.

Platform not supported: os=linux arch=aarch64

I get the feeling this is because I'm on a Mac M1, but the container is os linux. too many layers of emulation, too easy for something like this to go wrong.

I'm guessing there isn't much you can do about that, just letting you know.

=> ERROR [dev_container_auto_added_stage_label 5/5] RUN curl -s https://  0.7s
------
 > [dev_container_auto_added_stage_label 5/5] RUN curl -s https://cdn.rilldata.com/install.sh | bash:
#0 0.691 Platform not supported: os=linux arch=aarch64
------
ERROR: failed to solve: executor failed running [/bin/sh -c curl -s https://cdn.rilldata.com/install.sh | bash]: exit code: 1
[3638 ms] Error: Command failed: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /var/folders/gd/w4dsp9ls3fgbcksz5qc7bj3c0000gn/T/devcontainercli/container-features/0.20.0-1667061666534/Dockerfile-with-features -t vsc-datadex-d832b7769c1dd6ea20cecdfc80e952ec --target dev_containers_target_stage --build-context dev_containers_feature_content_source=/var/folders/gd/w4dsp9ls3fgbcksz5qc7bj3c0000gn/T/devcontainercli/container-features/0.20.0-1667061666534 --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp /Users/crucialfelix/github/datadex
[3638 ms]     at Vse (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1869:1635)
[3638 ms]     at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
[3638 ms]     at async ZA (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1868:1973)
[3638 ms]     at async jO (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1868:901)
[3638 ms]     at async Xse (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1874:2030)
[3638 ms]     at async Uf (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1874:3193)
[3638 ms]     at async Cae (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1994:10350)
[3638 ms]     at async yae (/Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js:1994:10104)
[3640 ms] Exit code 1
[3642 ms] Command failed: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/crucialfelix/.vscode/extensions/ms-vscode-remote.remote-containers-0.255.4/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/crucialfelix/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --workspace-folder /Users/crucialfelix/github/datadex --workspace-mount-consistency cached --id-label devcontainer.local_folder=/Users/crucialfelix/github/datadex --log-level debug --log-format json --config /Users/crucialfelix/github/datadex/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[3642 ms] Exit code 1
davidgasquez commented 1 year ago

Hey, thanks for opening the issue!

I get the feeling this is because I'm on a Mac M1, but the container is os linux. too many layers of emulation, too easy for something like this to go wrong.

Indeed! Not sure what is the best way to add support for multiple platforms though. Will take a look at it as soon as I have some time! :sweat_smile: