Automattic / node-canvas

Node canvas is a Cairo backed Canvas implementation for NodeJS.
10.1k stars 1.16k forks source link

Request for arm64 Linux Prebuild Package #2392

Open narukeu opened 2 months ago

narukeu commented 2 months ago

Issue or Feature

I am creating a Docker container for a Node.js project on an arm64 computer, which includes node-canvas. I believe there are many users with similar needs, so I hope you can provide an arm64 Linux prebuild package.

Your Environment

Debian GNU/Linux arm64

giacomo-bananadevs commented 1 month ago

Does anyone managed to build the package from source? I can't find a way to build it on a windows ARM64 that runs WSL2. I need to install the package on the ubuntu subsystem, running:

gyp info using **node-gyp@10.2.0**
gyp info using **node@20.10.0 | linux | arm64**
gyp info find Python using **Python version 3.10.12** found at "/usr/bin/python3"

Even trying to hand-compiling the package results always in the same error:

gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[UnhandledPromiseRejection: 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(). The promise rejected with the reason "undefined".] {
  code: 'ERR_UNHANDLED_REJECTION'
}

Node.js v20.10.0
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 1
gyp ERR! stack at ChildProcess.<anonymous> ([path_top_home_dir]/.nvm/versions/node/v20.10.0/lib/node_modules/node-gyp/lib/build.js:216:23)
gyp ERR! **System Linux 5.15.153.1-microsoft-standard-WSL2**
gyp ERR! command "[path_top_home_dir]/.nvm/versions/node/v20.10.0/bin/node" "[path_top_home_dir]/.nvm/versions/node/v20.10.0/bin/node-gyp" "build"
gyp ERR! cwd [path_to_prj]/node_modules/canvas/build
gyp ERR! node -v v20.10.0
gyp ERR! node-gyp -v v10.2.0
gyp ERR! not ok

I there any workaround to installa the package on Ubuntu ARM64? Or am I missing something?

cjutstraMaxedy commented 1 week ago

This would also be very helpful for us. We're running automated tests on ARM machines.