vmpowerio/chartjs-node

Unable to install (node-gyp errors)

Opened this issue · 3 comments

I tried absolutely everything you can think of, but I cannot get this lib to install for the life of me..

gyp ERR! build error 
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.19.121-linuxkit
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /workspaces/api/node_modules/canvas
gyp ERR! node -v v14.15.4
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! canvas@1.6.13 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the canvas@1.6.13 install script.
Full log
$ npm install chartjs-node
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported

> canvas@1.6.13 install /workspaces/api/node_modules/canvas
> node-gyp rebuild

make: Entering directory '/workspaces/api/node_modules/canvas/build'
  SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node
  COPY Release/canvas-postbuild.node
  CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h: In function ‘boolean empty_closure_output_buffer(j_compress_ptr)’:
../src/JPEGStream.h:42:108: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, argv);
                                                                                                            ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:42:108: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, argv);
                                                                                                            ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h: In function ‘void term_closure_destination(j_compress_ptr)’:
../src/JPEGStream.h:63:113: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, data_argv);
                                                                                                                 ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:63:113: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, data_argv);
                                                                                                                 ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:71:112: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, end_argv);
                                                                                                                ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:71:112: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, end_argv);
                                                                                                                ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static void Canvas::Initialize(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/Canvas.cc:60:75: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
   Nan::Set(target, Nan::New("Canvas").ToLocalChecked(), ctor->GetFunction());
                                                                           ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:6482:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
                                              ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:6482:46: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:74:57: error: no matching function for call to ‘v8::Value::Uint32Value()’
   if (info[0]->IsNumber()) width = info[0]->Uint32Value();
                                                         ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:75:58: error: no matching function for call to ‘v8::Value::Uint32Value()’
   if (info[1]->IsNumber()) height = info[1]->Uint32Value();
                                                          ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:76:76: error: no matching function for call to ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’
   if (info[2]->IsString()) type = !strcmp("pdf", *String::Utf8Value(info[2]))
                                                                            ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3287:5: note: candidate: ‘v8::String::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)’
     Utf8Value(Isolate* isolate, Local<v8::Value> obj);
     ^~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3287:5: note:   candidate expects 2 arguments, 1 provided
../src/Canvas.cc:78:48: error: no matching function for call to ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’
     : !strcmp("svg", *String::Utf8Value(info[2]))
                                                ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3287:5: note: candidate: ‘v8::String::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)’
     Utf8Value(Isolate* isolate, Local<v8::Value> obj);
     ^~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3287:5: note:   candidate expects 2 arguments, 1 provided
../src/Canvas.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Canvas::SetWidth(v8::Local<v8::String>, v8::Local<v8::Value>, Nan::NAN_SETTER_ARGS_TYPE’:
../src/Canvas.cc:119:40: error: no matching function for call to ‘v8::Value::Uint32Value()’
     canvas->width = value->Uint32Value();
                                        ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Canvas::SetHeight(v8::Local<v8::String>, v8::Local<v8::Value>, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Canvas.cc:140:41: error: no matching function for call to ‘v8::Value::Uint32Value()’
     canvas->height = value->Uint32Value();
                                         ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc: In static member function ‘static void Canvas::ToBufferAsyncAfter(uv_work_t*)’:
../src/Canvas.cc:221:31: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
     closure->pfn->Call(1, argv);
                               ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1742:3: note: declared here
   Call(int argc, v8::Local<v8::Value> argv[]) const {
   ^~~~
../src/Canvas.cc:226:31: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
     closure->pfn->Call(2, argv);
                               ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1742:3: note: declared here
   Call(int argc, v8::Local<v8::Value> argv[]) const {
   ^~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::ToBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:274:52: error: no matching function for call to ‘v8::Value::Uint32Value()’
           compression_level = info[1]->Uint32Value();
                                                    ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:279:49: error: no matching function for call to ‘v8::Value::Uint32Value()’
             uint32_t tmp = info[1]->Uint32Value();
                                                 ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:301:39: error: no matching function for call to ‘v8::Value::Uint32Value()’
         filter = info[2]->Uint32Value();
                                       ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:327:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     uv_queue_work(uv_default_loop(), req, ToBufferAsync, (uv_after_work_cb)ToBufferAsyncAfter);
                                                                            ^~~~~~~~~~~~~~~~~~
../src/Canvas.cc: In function ‘cairo_status_t streamPNG(void*, const uint8_t*, unsigned int)’:
../src/Canvas.cc:377:102: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure->fn, 3, argv);
                                                                                                      ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc:377:102: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure->fn, 3, argv);
                                                                                                      ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::StreamPNGSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:396:52: error: no matching function for call to ‘v8::Value::Uint32Value()’
           compression_level = info[1]->Uint32Value();
                                                    ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:401:49: error: no matching function for call to ‘v8::Value::Uint32Value()’
             uint32_t tmp = info[1]->Uint32Value();
                                                 ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:423:39: error: no matching function for call to ‘v8::Value::Uint32Value()’
         filter = info[2]->Uint32Value();
                                       ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
                                         ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2866:41: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:446:103: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure.fn, 1, argv);
                                                                                                       ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc:446:103: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure.fn, 1, argv);
                                                                                                       ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc:452:103: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure.fn, 1, argv);
                                                                                                       ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc:452:103: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure.fn, 1, argv);
                                                                                                       ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc: In function ‘cairo_status_t streamPDF(void*, const uint8_t*, unsigned int)’:
../src/Canvas.cc:476:77: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), closure->fn, 3, argv);
                                                                             ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc:476:77: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), closure->fn, 3, argv);
                                                                             ^
In file included from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:1026:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::StreamJPEGSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:557:64: error: no matching function for call to ‘v8::Value::NumberValue()’
   write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
                                                                ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2861:39: note: candidate: ‘v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
                                       ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2861:39: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:557:88: error: no matching function for call to ‘v8::Value::NumberValue()’
   write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
                                                                                        ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2861:39: note: candidate: ‘v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
                                       ^~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2861:39: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:557:113: error: no matching function for call to ‘v8::Value::BooleanValue()’
   write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
                                                                                                                 ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2858:8: note: candidate: ‘bool v8::Value::BooleanValue(v8::Isolate*) const’
   bool BooleanValue(Isolate* isolate) const;
        ^~~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2858:8: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc: In member function ‘void Canvas::resurface(v8::Local<v8::Object>)’:
../src/Canvas.cc:639:73: error: no matching function for call to ‘v8::Object::Get(v8::Local<v8::String>)’
       context = canvas->Get(Nan::New<String>("context").ToLocalChecked());
                                                                         ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided
../src/Canvas.cc:641:85: error: no matching function for call to ‘v8::Value::ToObject()’
         Context2d *context2d = Nan::ObjectWrap::Unwrap<Context2d>(context->ToObject());
                                                                                     ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                            ^~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
../src/Canvas.cc:655:73: error: no matching function for call to ‘v8::Object::Get(v8::Local<v8::String>)’
       context = canvas->Get(Nan::New<String>("context").ToLocalChecked());
                                                                         ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided
../src/Canvas.cc:657:85: error: no matching function for call to ‘v8::Value::ToObject()’
         Context2d *context2d = Nan::ObjectWrap::Unwrap<Context2d>(context->ToObject());
                                                                                     ^
In file included from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                            ^~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/node/.cache/node-gyp/14.15.4/include/node/node_object_wrap.h:85:78:   required from here
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:10874:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/node/.cache/node-gyp/14.15.4/include/node/v8.h:10874:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
make: *** [canvas.target.mk:147: Release/obj.target/canvas/src/Canvas.o] Error 1
make: Leaving directory '/workspaces/api/node_modules/canvas/build'
gyp ERR! build error 
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.19.121-linuxkit
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /workspaces/api/node_modules/canvas
gyp ERR! node -v v14.15.4
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm WARN api@0.0.0 No description
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! canvas@1.6.13 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the canvas@1.6.13 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/node/.npm/_logs/2021-03-12T14_13_41_393Z-debug.log

I notice it says node-gyp -v v5.1.0 even though I ran npm i -g node-gyp and running node-gyp -v on the terminal shows v7.1.2....

I'm running Debian Buster (10) in a virtualized VSCode environment, using the default Node.js 14 + Typescript preset.

The log above was with chart.js ^2.7.0, since with the latest one I noticed the following warning:

npm WARN chartjs-node@1.7.1 requires a peer of chart.js@<=2.7.* but none is installed. You must install peer dependencies yourself.

But as you can tell, that did not fix the issue.

You probably installed to new chart.js

Screenshot from 2021-04-26 15-07-14

this package seems to be unmaintained

this package seems to be unmaintained

yes, it is.

using chartjs-node-canvas instead.

https://www.npmjs.com/package/chartjs-node-canvas