site.js icon indicating copy to clipboard operation
site.js copied to clipboard

"Unsupported platform + architecture combination for linux-arm64" Error when trying to run from Ubuntu on a Raspberry Pi 4

Open jonoabroad opened this issue 4 years ago β€’ 1 comments

ubuntu@ubuntu:~$ wget -qO- https://sitejs.org/install | bash

 πŸ“‘ Downloading Site.js version 20210103130813 (16.0.5/d4fe1e9)…
 πŸ“¦ Installing…
 πŸŽ‰ Done!

ubuntu@ubuntu:~$ mkdir hello
ubuntu@ubuntu:~$ cd hello/
ubuntu@ubuntu:~/hello$ echo 'Hello, world' > index.html
ubuntu@ubuntu:~/hello$ site

   🌱    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€β–ˆβ–ˆβ€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€        β–ˆβ–ˆβ€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
         β–ˆβ–ˆβ€β€β€β€β€β€β–ˆβ–ˆβ€β€β€β€β–ˆβ–ˆβ€β€β€β€β–ˆβ–ˆβ€β€β€β€β€β€        β–ˆβ–ˆβ€β–ˆβ–ˆβ€β€β€β€β€
         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€β–ˆβ–ˆβ€   β–ˆβ–ˆβ€   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€          β–ˆβ–ˆβ€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
         β€β€β€β€β€β–ˆβ–ˆβ€β–ˆβ–ˆβ€   β–ˆβ–ˆβ€   β–ˆβ–ˆβ€β€β€β€     β–ˆβ–ˆ   β–ˆβ–ˆβ€β€β€β€β€β€β–ˆβ–ˆ
         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€β–ˆβ–ˆβ€   β–ˆβ–ˆβ€   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€β–ˆβ–ˆβ€β€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ€β€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

         Created January 3rd, 2021 at 13:08:13

         Version 20210103130813-16.0.5-d4fe1e9-linux/arm64
         Node.js 12.16.2
         Hugo    0.78.0

         Base    https://sitejs.org/nexe/linux-arm64-12.16.2
         Source  https://source.small-tech.org/site.js/app/-/tree/d4fe1e9

         ╔═══════════════════════════════════════════╗
         β•‘ Like this? Fund us!                       β•‘
         β•‘                                           β•‘
         β•‘ We’re a tiny, independent not-for-profit. β•‘
         β•‘ https://small-tech.org/fund-us            β•‘
         β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

   πŸ˜‡    ❨site.js❩ Linux: about to disable privileged ports so we can bind to ports < 1024.
         ❨site.js❩ For details, see: https://source.small-tech.org/site.js/app/-/issues/169
   🚧    ❨site.js❩ Using locally-trusted certificates.
   πŸ”’    ❨https❩ Creating server at localhost with locally-trusted certificates.
(node:11091) UnhandledPromiseRejectionWarning: Error: Unsupported platform + architecture combination for linux-arm64
    at mkcertBinaryForThisMachine (/usr/local/bin/node_modules/@small-tech/auto-encrypt-localhost/lib/mkcertBinaryForThisMachine.js:42:55)
    at Function.createServer (/usr/local/bin/node_modules/@small-tech/auto-encrypt-localhost/index.js:76:26)
    at Object.smallTechHttps.createServer (/usr/local/bin/node_modules/@small-tech/https/index.js:42:56)
    at Site._createServer (/usr/local/bin/index.js:889:18)
    at Site.createServer (/usr/local/bin/index.js:722:24)
    at new Site (/usr/local/bin/index.js:337:10)
    at /usr/local/bin/bin/commands/serve.js:232:16
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:11091) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:11091) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
ubuntu@ubuntu:~/hello$

System info

ubuntu@ubuntu:~/hello$ hostnamectl
   Static hostname: ubuntu
         Icon name: computer
        Machine ID: c85b5d9e2fb84521a2448cbb564014a1
           Boot ID: f282a153835043c0a7618f4344d46a2d
  Operating System: Ubuntu 20.04.2 LTS
            Kernel: Linux 5.4.0-1028-raspi
      Architecture: arm64

jonoabroad avatar Feb 10 '21 03:02 jonoabroad

On investigation it looks like the author is working on adding arm64 support but it's blocked by lack of binaries for node 14 (?) https://source.small-tech.org/site.js/app/-/issues/148. 32 bit arm apparently works fine

That being said, maybe they should 1. say "this does not work with arm64 yet" (apparently it works on the pinebook pro somehow?), and 2. error out if it's being run on an arch that isn't supported, or 3. do an install from source instead of distributing a 120MB binary.

alyssadev avatar Aug 17 '21 02:08 alyssadev