{"action":"created","issue":{"url":"https://api.github.com/repos/Automattic/node-canvas/issues/699","repository_url":"https://api.github.com/repos/Automattic/node-canvas","labels_url":"https://api.github.com/repos/Automattic/node-canvas/issues/699/labels{/name}","comments_url":"https://api.github.com/repos/Automattic/node-canvas/issues/699/comments","events_url":"https://api.github.com/repos/Automattic/node-canvas/issues/699/events","html_url":"https://github.com/Automattic/node-canvas/issues/699","id":124869273,"number":699,"title":"`nod-gyp rebuild` Error Installing on Heroku","user":{"login":"ArdentKid","id":705001,"avatar_url":"https://avatars.githubusercontent.com/u/705001?v=3","gravatar_id":"","url":"https://api.github.com/users/ArdentKid","html_url":"https://github.com/ArdentKid","followers_url":"https://api.github.com/users/ArdentKid/followers","following_url":"https://api.github.com/users/ArdentKid/following{/other_user}","gists_url":"https://api.github.com/users/ArdentKid/gists{/gist_id}","starred_url":"https://api.github.com/users/ArdentKid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ArdentKid/subscriptions","organizations_url":"https://api.github.com/users/ArdentKid/orgs","repos_url":"https://api.github.com/users/ArdentKid/repos","events_url":"https://api.github.com/users/ArdentKid/events{/privacy}","received_events_url":"https://api.github.com/users/ArdentKid/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-01-05T00:27:59Z","updated_at":"2016-03-01T15:36:13Z","closed_at":null,"body":"Can't seem to build successfully... This is actually caused when it tries to install the dependency \"fabric\": \"^1.6.0-rc.1\"\r\n\r\n```\r\nremote: -----> Using set buildpack heroku/nodejs\r\nremote: -----> Node.js app detected\r\nremote: \r\nremote: -----> Creating runtime environment\r\nremote:        \r\nremote:        NPM_CONFIG_LOGLEVEL=error\r\nremote:        NPM_CONFIG_PRODUCTION=true\r\nremote:        NODE_ENV=production\r\nremote:        NODE_MODULES_CACHE=true\r\nremote: \r\nremote: -----> Installing binaries\r\nremote:        engines.node (package.json):  5.3.0\r\nremote:        engines.npm (package.json):   3.3.12\r\nremote:        \r\nremote:        Downloading and installing node 5.3.0...\r\n\r\nremote:        npm 3.3.12 already installed with node\r\nremote: \r\nremote: -----> Restoring cache\r\nremote:        Skipping cache restore (new runtime signature)\r\nremote: \r\nremote: -----> Building dependencies\r\nremote:        Pruning any extraneous modules\r\nremote:        Installing node modules (package.json)\r\n\r\n\r\nremote:        \r\nremote:        > contextify@0.1.15 install /tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/contextify\r\nremote:        > node-gyp rebuild\r\nremote:        \r\nremote:        make: Entering directory `/tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/contextify/build'\r\nremote:        CXX(target) Release/obj.target/contextify/src/contextify.o\r\nremote:        SOLINK_MODULE(target) Release/obj.target/contextify.node\r\nremote:        COPY Release/contextify.node\r\nremote:        make: Leaving directory `/tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/contextify/build'\r\nremote:        \r\nremote:        > canvas@1.1.6 install /tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/canvas\r\nremote:        > node-gyp rebuild\r\nremote:        \r\nremote:        make: Entering directory `/tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/canvas/build'\r\nremote:        SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node\r\nremote:        COPY Release/canvas-postbuild.node\r\nremote:        CXX(target) Release/obj.target/canvas/src/Canvas.o\r\nremote:        In file included from ../src/Canvas.h:22:0,\r\nremote:        from ../src/Canvas.cc:7:\r\nremote:        ../../nan/nan.h: In function ‘v8::Local<v8::Signature> NanNew(v8::Handle<v8::FunctionTemplate>, int, v8::Handle<v8::FunctionTemplate>*)’:\r\nremote:        ../../nan/nan.h:342:78: error: no matching function for call to ‘v8::Signature::New(v8::Isolate*, v8::Handle<v8::FunctionTemplate>&, int&, v8::Handle<v8::FunctionTemplate>*&)’\r\nremote:        return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);\r\nremote:        ^\r\nremote:        ../../nan/nan.h:342:78: note: candidate is:\r\nremote:        In file included from ../src/Canvas.h:11:0,\r\nremote:        from ../src/Canvas.cc:7:\r\nremote:        /app/.node-gyp/5.3.0/include/node/v8.h:4674:27: note: static v8::Local<v8::Signature> v8::Signature::New(v8::Isolate*, v8::Local<v8::FunctionTemplate>)\r\nremote:        static Local<Signature> New(\r\nremote:        ^\r\nremote:        /app/.node-gyp/5.3.0/include/node/v8.h:4674:27: note:   candidate expects 2 arguments, 4 provided\r\nremote:        In file included from ../src/Canvas.h:22:0,\r\nremote:        from ../src/Canvas.cc:7:\r\nremote:        ../../nan/nan.h: At global scope:\r\nremote:        ../../nan/nan.h:424:3: error: redefinition of ‘v8::Local<T> NanNew(P) [with T = v8::StringObject; P = v8::Local<v8::String>]’\r\nremote:        NanNew<v8::StringObject, v8::Handle<v8::String> >(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:417:3: error: ‘v8::Local<T> NanNew(P) [with T = v8::StringObject; P = v8::Local<v8::String>]’ previously declared here\r\nremote:        NanNew<v8::StringObject, v8::Local<v8::String> >(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:442:36: error: redefinition of ‘template<class T> v8::Local<v8::RegExp> NanNew(v8::Local<v8::String>, v8::RegExp::Flags)’\r\nremote:        NAN_INLINE v8::Local<v8::RegExp> NanNew(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:436:36: error: ‘template<class T> v8::Local<v8::RegExp> NanNew(v8::Handle<v8::String>, v8::RegExp::Flags)’ previously declared here\r\nremote:        NAN_INLINE v8::Local<v8::RegExp> NanNew(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:454:36: error: redefinition of ‘template<class T, class P> v8::Local<v8::RegExp> NanNew(v8::Local<v8::String>, v8::RegExp::Flags)’\r\nremote:        NAN_INLINE v8::Local<v8::RegExp> NanNew(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:448:36: error: ‘template<class T, class P> v8::Local<v8::RegExp> NanNew(v8::Handle<v8::String>, v8::RegExp::Flags)’ previously declared here\r\nremote:        NAN_INLINE v8::Local<v8::RegExp> NanNew(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:623:19: error: ‘NanNew’ declared as an ‘inline’ variable\r\nremote:        v8::String::ExternalAsciiStringResource *resource) {\r\nremote:        ^\r\nremote:        ../../nan/nan.h:623:19: warning: ‘always_inline’ attribute ignored [-Wattributes]\r\nremote:        ../../nan/nan.h:623:19: error: ‘v8::Local<v8::String> NanNew’ redeclared as different kind of symbol\r\nremote:        ../../nan/nan.h:617:36: error: previous declaration of ‘v8::Local<v8::String> NanNew(v8::String::ExternalStringResource*)’\r\nremote:        NAN_INLINE v8::Local<v8::String> NanNew(\r\nremote:        ^\r\nremote:        ../../nan/nan.h:623:7: error: ‘ExternalAsciiStringResource’ is not a member of ‘v8::String’\r\nremote:        v8::String::ExternalAsciiStringResource *resource) {\r\nremote:        ^\r\nremote:        ../../nan/nan.h:623:48: error: ‘resource’ was not declared in this scope\r\nremote:        v8::String::ExternalAsciiStringResource *resource) {\r\nremote:        ^\r\nremote:        ../../nan/nan.h:637:27: error: redefinition of ‘template<class T> v8::Local<T> _NanEscapeScopeHelper(v8::Local<T>)’\r\nremote:        NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {\r\nremote:        ^\r\nremote:        ../../nan/nan.h:632:27: error: ‘template<class T> v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T>)’ previously declared here\r\nremote:        NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T> val) {\r\nremote:        ^\r\nremote:        ../../nan/nan.h:889:13: error: ‘node::smalloc’ has not been declared\r\nremote:        , node::smalloc::FreeCallback callback\r\nremote:        ^\r\nremote:        ../../nan/nan.h:889:35: error: expected ‘,’ or ‘...’ before ‘callback’\r\nremote:        , node::smalloc::FreeCallback callback\r\nremote:        ^\r\nremote:        ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:\r\nremote:        ../../nan/nan.h:893:50: error: ‘callback’ was not declared in this scope\r\nremote:        v8::Isolate::GetCurrent(), data, length, callback, hint);\r\nremote:        ^\r\nremote:        ../../nan/nan.h:893:60: error: ‘hint’ was not declared in this scope\r\nremote:        v8::Isolate::GetCurrent(), data, length, callback, hint);\r\nremote:        ^\r\nremote:        ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:\r\nremote:        ../../nan/nan.h:900:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous\r\nremote:        return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);\r\nremote:        ^\r\nremote:        ../../nan/nan.h:900:67: note: candidates are:\r\nremote:        In file included from ../../nan/nan.h:179:0,\r\nremote:        from ../src/Canvas.h:22,\r\nremote:        from ../src/Canvas.cc:7:\r\nremote:        /app/.node-gyp/5.3.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>\r\nremote:        NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,\r\nremote:        ^\r\nremote:        /app/.node-gyp/5.3.0/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’\r\nremote:        /app/.node-gyp/5.3.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>\r\nremote:        NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,\r\nremote:        ^\r\nremote:        /app/.node-gyp/5.3.0/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from ‘const char*’ to ‘char*’\r\nremote:        In file included from ../src/Canvas.h:22:0,\r\nremote:        from ../src/Canvas.cc:7:\r\nremote:        ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:\r\nremote:        ../../nan/nan.h:904:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’\r\nremote:        return node::Buffer::New(v8::Isolate::GetCurrent(), size);\r\nremote:        ^\r\nremote:        ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:\r\nremote:        ../../nan/nan.h:911:12: error: ‘Use’ is not a member of ‘node::Buffer’\r\nremote:        return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);\r\nremote:        ^\r\nremote:        ../../nan/nan.h: In function ‘bool _NanGetExternalParts(v8::Handle<v8::Value>, const char**, size_t*)’:\r\nremote:        ../../nan/nan.h:1993:12: error: ‘class v8::String’ has no member named ‘IsExternalAscii’\r\nremote:        if (str->IsExternalAscii()) {\r\nremote:        ^\r\nremote:        ../../nan/nan.h:1994:11: error: ‘ExternalAsciiStringResource’ in ‘class v8::String’ does not name a type\r\nremote:        const v8::String::ExternalAsciiStringResource* ext;\r\nremote:        ^\r\nremote:        ../../nan/nan.h:1995:5: error: ‘ext’ was not declared in this scope\r\nremote:        ext = str->GetExternalAsciiStringResource();\r\nremote:        ^\r\nremote:        ../../nan/nan.h:1995:16: error: ‘class v8::String’ has no member named ‘GetExternalAsciiStringResource’\r\nremote:        ext = str->GetExternalAsciiStringResource();\r\nremote:        ^\r\nremote:        ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:\r\nremote:        ../../nan/nan.h:901:3: warning: control reaches end of non-void function [-Wreturn-type]\r\nremote:        }\r\nremote:        ^\r\nremote:        make: *** [Release/obj.target/canvas/src/Canvas.o] Error 1\r\nremote:        make: Leaving directory `/tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/canvas/build'\r\nremote:        gyp ERR! build error\r\nremote:        gyp ERR! stack Error: `make` failed with exit code: 2\r\nremote:        gyp ERR! stack     at ChildProcess.onExit (/tmp/build_0ea4504f013e9959fff9eac3c707bc28/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)\r\nremote:        gyp ERR! stack     at emitTwo (events.js:87:13)\r\nremote:        gyp ERR! stack     at ChildProcess.emit (events.js:172:7)\r\nremote:        gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)\r\nremote:        gyp ERR! System Linux 3.13.0-71-generic\r\nremote:        gyp ERR! command \"/tmp/build_0ea4504f013e9959fff9eac3c707bc28/.heroku/node/bin/node\" \"/tmp/build_0ea4504f013e9959fff9eac3c707bc28/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"\r\nremote:        gyp ERR! cwd /tmp/build_0ea4504f013e9959fff9eac3c707bc28/node_modules/canvas\r\nremote:        gyp ERR! node -v v5.3.0\r\nremote:        gyp ERR! node-gyp -v v3.0.3\r\nremote:        gyp ERR! not ok\r\nremote:        arka-customizer@1.0.0 /tmp/build_0ea4504f013e9959fff9eac3c707bc28\r\nremote:        ├── jquery@2.1.4\r\nremote:        ├── jsdom@1.1.0  extraneous\r\nremote:        ├── three@0.73.0\r\nremote:        ├── tween.js@16.3.1\r\nremote:        └── xmldom@0.1.19  extraneous\r\nremote:        \r\nremote:        npm ERR! Linux 3.13.0-71-generic\r\nremote:        npm ERR! argv \"/tmp/build_0ea4504f013e9959fff9eac3c707bc28/.heroku/node/bin/node\" \"/tmp/build_0ea4504f013e9959fff9eac3c707bc28/.heroku/node/bin/npm\" \"install\" \"--unsafe-perm\" \"--userconfig\" \"/tmp/build_0ea4504f013e9959fff9eac3c707bc28/.npmrc\"\r\nremote:        npm ERR! node v5.3.0\r\nremote:        npm ERR! npm  v3.3.12\r\nremote:        npm ERR! code ELIFECYCLE\r\nremote:        \r\nremote:        npm ERR! canvas@1.1.6 install: `node-gyp rebuild`\r\nremote:        npm ERR! Exit status 1\r\nremote:        npm ERR!\r\nremote:        npm ERR! Failed at the canvas@1.1.6 install script 'node-gyp rebuild'.\r\nremote:        npm ERR! Make sure you have the latest version of node.js and npm installed.\r\nremote:        npm ERR! If you do, this is most likely a problem with the canvas package,\r\nremote:        npm ERR! not with npm itself.\r\nremote:        npm ERR! Tell the author that this fails on your system:\r\nremote:        npm ERR!     node-gyp rebuild\r\nremote:        npm ERR! You can get their info via:\r\nremote:        npm ERR!     npm owner ls canvas\r\nremote:        npm ERR! There is likely additional logging output above.\r\nremote:        \r\nremote:        npm ERR! Please include the following file with any support request:\r\nremote:        npm ERR!     /tmp/build_0ea4504f013e9959fff9eac3c707bc28/npm-debug.log\r\nremote: \r\nremote: -----> Build failed\r\nremote:        \r\nremote:        We're sorry this build is failing! You can troubleshoot common issues here:\r\nremote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys\r\nremote:        \r\nremote:        If you're stuck, please submit a ticket so we can help:\r\nremote:        https://help.heroku.com/\r\nremote:        \r\nremote:        Love,\r\nremote:        Heroku\r\n```\r\n\r\nAny ideas?"},"comment":{"url":"https://api.github.com/repos/Automattic/node-canvas/issues/comments/190773940","html_url":"https://github.com/Automattic/node-canvas/issues/699#issuecomment-190773940","issue_url":"https://api.github.com/repos/Automattic/node-canvas/issues/699","id":190773940,"user":{"login":"LinusU","id":189580,"avatar_url":"https://avatars.githubusercontent.com/u/189580?v=3","gravatar_id":"","url":"https://api.github.com/users/LinusU","html_url":"https://github.com/LinusU","followers_url":"https://api.github.com/users/LinusU/followers","following_url":"https://api.github.com/users/LinusU/following{/other_user}","gists_url":"https://api.github.com/users/LinusU/gists{/gist_id}","starred_url":"https://api.github.com/users/LinusU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LinusU/subscriptions","organizations_url":"https://api.github.com/users/LinusU/orgs","repos_url":"https://api.github.com/users/LinusU/repos","events_url":"https://api.github.com/users/LinusU/events{/privacy}","received_events_url":"https://api.github.com/users/LinusU/received_events","type":"User","site_admin":false},"created_at":"2016-03-01T15:36:13Z","updated_at":"2016-03-01T15:36:13Z","body":"I understand your frustation, I would love to have prebuilt statically linked binaries..."}}