Skip to content
Failed

Console Output

GitHub pull request #29 of commit a75aaf20cca3ae08eea7e22255e8b5bf44af9b48, no merge conflicts.
Running as SYSTEM
Setting status of a75aaf20cca3ae08eea7e22255e8b5bf44af9b48 to PENDING with url https://autotest.bioeng.auckland.ac.nz/jenkins/job/ZincJS/37/ and message: 'Build started for merge commit.'
Building remotely on Ubuntu_16.04_bioeng49 (buildslave Testing) in workspace /home/cmiss/Jenkins/workspace/ZincJS
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is used...
[WS-CLEANUP] Done
The recommended git tool is: NONE
No credentials specified
Cloning the remote Git repository
Cloning repository https://github.com/ABI-Software/ZincJS.git
 > git init /home/cmiss/Jenkins/workspace/ZincJS # timeout=10
Fetching upstream changes from https://github.com/ABI-Software/ZincJS.git
 > git --version # timeout=10
 > git --version # 'git version 2.17.1'
 > git fetch --tags --progress -- https://github.com/ABI-Software/ZincJS.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/ABI-Software/ZincJS.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/ABI-Software/ZincJS.git # timeout=10
Fetching upstream changes from https://github.com/ABI-Software/ZincJS.git
 > git fetch --tags --progress -- https://github.com/ABI-Software/ZincJS.git +refs/pull/*:refs/remotes/origin/pr/* # timeout=10
 > git rev-parse refs/remotes/origin/pr/29/merge^{commit} # timeout=10
Checking out Revision f5410f6649cf428cd4b89bbfdb3bf0110d1844f3 (refs/remotes/origin/pr/29/merge)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f5410f6649cf428cd4b89bbfdb3bf0110d1844f3 # timeout=10
Commit message: "Merge a75aaf20cca3ae08eea7e22255e8b5bf44af9b48 into a3e3f61d31a865be93de1c6b0a8049f099738566"
First time build. Skipping changelog.
[ZincJS] $ /bin/sh -xe /tmp/jenkins8722682640680655721.sh
+ npm install

> core-js@2.6.11 postinstall /home/cmiss/Jenkins/workspace/ZincJS/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/watchpack-chokidar2/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 638 packages from 348 contributors and audited 640 packages in 21.802s
found 90 low severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details
+ npm run build

> zincjs@0.36.0 build /home/cmiss/Jenkins/workspace/ZincJS
> webpack --config webpack.frontend.js; webpack --config webpack.backend.js

Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Hash: 9cc9c707b279c9dd6f29
Version: webpack 4.41.2
Time: 39792ms
Built at: 10/19/2020 4:39:23 PM
               Asset      Size  Chunks                          Chunk Names
    zinc.frontend.js   784 KiB       0  [emitted]        [big]  zinc
zinc.frontend.js.map  2.47 MiB       0  [emitted] [dev]         zinc
Entrypoint zinc [big] = zinc.frontend.js zinc.frontend.js.map
 [1] ./src/primitives/zincObject.js 12.1 KiB {0} [built]
 [2] ./src/zinc.js 1.22 KiB {0} [built]
 [3] ./src/controls.js 33.9 KiB {0} [built]
 [4] ./src/utilities.js 5.9 KiB {0} [built]
 [5] ./src/primitives/geometry.js 2.93 KiB {0} [built]
 [6] ./src/primitives/glyphset.js 16.2 KiB {0} [built]
 [7] (webpack)/buildin/global.js 685 bytes {0} [built]
 [8] ./src/primitives/glyph.js 3.39 KiB {0} [built]
 [9] ./src/scene.js 17.3 KiB {0} [built]
[10] ./src/three-js-csg.js 12.5 KiB {0} [built]
[12] ./src/primitives/pointset.js 1.09 KiB {0} [built]
[13] ./src/primitives/lines.js 918 bytes {0} [built]
[14] ./src/geometryCSG.js 3.15 KiB {0} [built]
[28] ./src/renderer.js 10.8 KiB {0} [built]
[40] ./src/glyphsetCSG.js 1.46 KiB {0} [built]
    + 26 hidden modules

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  zinc.frontend.js (784 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  zinc (784 KiB)
      zinc.frontend.js


WARNING in webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Hash: 9b535572bf952a5d4c27
Version: webpack 4.41.2
Time: 8994ms
Built at: 10/19/2020 4:39:34 PM
      Asset     Size  Chunks                   Chunk Names
    zinc.js  203 KiB       0  [emitted]        zinc
zinc.js.map  579 KiB       0  [emitted] [dev]  zinc
Entrypoint zinc = zinc.js zinc.js.map
 [0] ./src/zinc.js 1.22 KiB {0} [built]
 [1] external "url-polyfill" 42 bytes {0} [built]
 [2] ./src/primitives/geometry.js 2.93 KiB {0} [built]
 [3] external "three" 42 bytes {0} [built]
 [4] ./src/primitives/zincObject.js 12.1 KiB {0} [built]
 [5] ./src/utilities.js 5.9 KiB {0} [built]
 [9] ./src/primitives/glyph.js 3.39 KiB {0} [built]
[11] ./src/primitives/glyphset.js 16.2 KiB {0} [built]
[15] ./src/primitives/pointset.js 1.09 KiB {0} [built]
[18] ./src/primitives/lines.js 918 bytes {0} [built]
[21] ./src/renderer.js 10.8 KiB {0} [built]
[23] ./src/scene.js 17.3 KiB {0} [built]
[27] ./src/controls.js 33.9 KiB {0} [built]
[29] ./src/geometryCSG.js 3.15 KiB {0} [built]
[35] ./src/glyphsetCSG.js 1.46 KiB {0} [built]
    + 21 hidden modules
+ xvfb-run -s -screen 0 1024x1024x24 npm run test

> zincjs@0.36.0 test /home/cmiss/Jenkins/workspace/ZincJS
> npm --prefix ./test install && npm --prefix ./test run test-ci


> nodent-runtime@3.2.1 install /home/cmiss/Jenkins/workspace/ZincJS/test/node_modules/nodent-runtime
> node build.js

## Built /home/cmiss/Jenkins/workspace/ZincJS/test/node_modules/nodent-runtime/dist/index.js

> canvas@2.6.1 install /home/cmiss/Jenkins/workspace/ZincJS/test/node_modules/canvas
> node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp WARN Pre-built binaries not installable for canvas@2.6.1 and node@10.15.0 (node-v64 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Hit error read ECONNRESET 
make: Entering directory '/home/cmiss/Jenkins/workspace/ZincJS/test/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/backend/Backend.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/backend/Backend.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/backend/Backend.cc:1:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/backend/ImageBackend.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/backend/ImageBackend.h:3,
                 from ../src/backend/ImageBackend.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/backend/ImageBackend.h:3,
                 from ../src/backend/ImageBackend.cc:1:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/backend/PdfBackend.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/backend/PdfBackend.h:3,
                 from ../src/backend/PdfBackend.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/backend/PdfBackend.h:3,
                 from ../src/backend/PdfBackend.cc:1:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/backend/SvgBackend.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/backend/SvgBackend.h:3,
                 from ../src/backend/SvgBackend.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/backend/SvgBackend.h:3,
                 from ../src/backend/SvgBackend.cc:1:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/bmp/BMPParser.o
  CXX(target) Release/obj.target/canvas/src/Backends.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/Backends.h:3,
                 from ../src/Backends.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/Backends.h:3,
                 from ../src/Backends.cc:1:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/Canvas.h:5,
                 from ../src/Canvas.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::ToBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:415:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
     if (canvas->nBytes() > node::Buffer::kMaxLength) {
         ~~~~~~~~~~~~~~~~~^~~~~~
../src/Canvas.cc:479:79: 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, ToPngBufferAsync, (uv_after_work_cb)ToBufferAsyncAfter);
                                                                               ^~~~~~~~~~~~~~~~~~
../src/Canvas.cc:520:80: 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, ToJpegBufferAsync, (uv_after_work_cb)ToBufferAsyncAfter);
                                                                                ^~~~~~~~~~~~~~~~~~
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/Canvas.h:5,
                 from ../src/Canvas.cc:3:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/CanvasGradient.o
In file included from ../src/CanvasGradient.h:5,
                 from ../src/CanvasGradient.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/CanvasGradient.h:5,
                 from ../src/CanvasGradient.cc:3:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/CanvasPattern.o
In file included from ../src/CanvasPattern.h:6,
                 from ../src/CanvasPattern.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/CanvasPattern.h:6,
                 from ../src/CanvasPattern.cc:3:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/Canvas.h:5,
                 from ../src/CanvasRenderingContext2d.h:6,
                 from ../src/CanvasRenderingContext2d.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/Canvas.h:5,
                 from ../src/CanvasRenderingContext2d.h:6,
                 from ../src/CanvasRenderingContext2d.cc:3:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/closure.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/Canvas.h:5,
                 from ../src/closure.h:5,
                 from ../src/closure.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/Canvas.h:5,
                 from ../src/closure.h:5,
                 from ../src/closure.cc:1:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/color.o
  CXX(target) Release/obj.target/canvas/src/Image.o
In file included from ../src/Image.h:8,
                 from ../src/Image.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/Image.h:8,
                 from ../src/Image.cc:3:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/ImageData.o
In file included from ../src/ImageData.h:5,
                 from ../src/ImageData.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/ImageData.h:5,
                 from ../src/ImageData.cc:3:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/init.o
In file included from ../src/backend/Backend.h:6,
                 from ../src/Backends.h:3,
                 from ../src/init.cc:17:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/Backends.h:3,
                 from ../src/init.cc:17:
../src/init.cc: At global scope:
/home/cmiss/.node-gyp/10.15.0/include/node/node.h:570:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/cmiss/.node-gyp/10.15.0/include/node/node.h:604:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/init.cc:88:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(canvas, init);
 ^~~~~~~~~~~
In file included from /home/cmiss/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../../nan/nan.h:56,
                 from ../src/backend/Backend.h:6,
                 from ../src/Backends.h:3,
                 from ../src/init.cc:17:
/home/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/node_object_wrap.h:85:78:   required from here
/home/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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/cmiss/.node-gyp/10.15.0/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/cmiss/.node-gyp/10.15.0/include/node/v8.h:9502: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]
  CXX(target) Release/obj.target/canvas/src/register_font.o
  SOLINK_MODULE(target) Release/obj.target/canvas.node
  COPY Release/canvas.node
make: Leaving directory '/home/cmiss/Jenkins/workspace/ZincJS/test/node_modules/canvas/build'

> gl@4.8.0 install /home/cmiss/Jenkins/workspace/ZincJS/test/node_modules/gl
> prebuild-install || node-gyp rebuild


> core-js@2.6.11 postinstall /home/cmiss/Jenkins/workspace/ZincJS/test/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/watchpack/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 865 packages from 691 contributors and audited 868 packages in 57.373s
found 4 vulnerabilities (2 low, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details

> @ test-ci /home/cmiss/Jenkins/workspace/ZincJS/test
> mocha-webpack --reporter mocha-junit-reporter

(node:15735) ExperimentalWarning: The fs.promises API is experimental
 WEBPACK  Compiling...

 WEBPACK  Compiled successfully in 2511ms

 MOCHA  Testing...

THREE.WebGLRenderer: WEBGL_depth_texture extension not supported.
THREE.WebGLRenderer: OES_texture_half_float extension not supported.
THREE.WebGLRenderer: OES_texture_half_float_linear extension not supported.
THREE.WebGLRenderer: OES_vertex_array_object extension not supported.
THREE.WebGLRenderer: OES_vertex_array_object extension not supported.
 MOCHA  Tests completed with 1 failure(s)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ test-ci: `mocha-webpack --reporter mocha-junit-reporter`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @ test-ci 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/cmiss/.npm/_logs/2020-10-19T03_40_42_347Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zincjs@0.36.0 test: `npm --prefix ./test install && npm --prefix ./test run test-ci`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zincjs@0.36.0 test 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/cmiss/.npm/_logs/2020-10-19T03_40_42_391Z-debug.log
Build step 'Execute shell' marked build as failure
Recording test results
[Set GitHub commit status (universal)] ERROR on repos [GHRepository@712c0df4[nodeId=MDEwOlJlcG9zaXRvcnkxNjU5Mjk2Njc=,description=JS interface to Zinc output for displaying 3D anatomical models,homepage=,name=ZincJS,fork=true,archived=false,size=49872,milestones={},language=JavaScript,commits={},isTemplate=<null>,url=https://api.github.com/repos/ABI-Software/ZincJS,id=165929667,nodeId=<null>,createdAt=2019-01-15T21:55:52Z,updatedAt=2020-10-07T00:25:51Z]] (sha:f5410f6) with context:ZincJS
Setting commit status on GitHub for https://github.com/ABI-Software/ZincJS/commit/f5410f6649cf428cd4b89bbfdb3bf0110d1844f3
Setting status of a75aaf20cca3ae08eea7e22255e8b5bf44af9b48 to FAILURE with url https://autotest.bioeng.auckland.ac.nz/jenkins/job/ZincJS/37/ and message: 'Build finished. '
Finished: FAILURE