Giter Club home page Giter Club logo

ngraph.fabric's Introduction

ngraph.fabric Build Status

This is a 2d graph renderer, which uses Fabric.js as a rendering engine. This library is a part of ngraph project. rendered from node.js

NB: Image above was rendered from Node.js. Click on the image to see interactive version rendered by the same code in your browser.

Example

This code will render interactive graph:

  // let's create a simple graph with two nodes, connected by edge:
  var graph = require('ngraph.graph')();
  graph.addLink(1, 2);

  // Create a fabric renderer:
  var fabricGraphics = require('ngraph.fabric')(graph);

  // And launch animation loop:
  fabricGraphics.run();

Use mouse wheel to zoom in/zoom out, drag canvas/nodes with left mouse button. More examples are available in the examples folder. You can also play with browserified examples here:

Customization

There are many ways to customize fabric graphics. I made them symmetrical to ngraph.pixi graphics. See README for more details.

What is missing?

If you like fabric.js and want to help with graph rendering, your contribution is absolutely welcomed and appreciated.

If you know how to improve rendering speed with fabric.js please let me know. Currently it does not handle well graphs with more than 500 node and 1000 links.

Why fabric?

Fabric has very well documented API and you can use any of those primitives as your rendering tools. What makes it absolutely awesome: Same code can be executed in the browser and on the server using node.js. Thus you can reuse code to render static images of graphs or animate them in the browser.

install

With npm do:

npm install ngraph.fabric

license

MIT

ngraph.fabric's People

Contributors

anvaka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ngraph.fabric's Issues

Can't install graph.fabric

I can't install the examples locally because of these errors. npm 3.10.10 & node 6.10.3. How to fix it?

hieugioi:ngraph.fabric hieugioi$ pwd
/Users/hieugioi/Repos/Study/ngraph.fabric
hieugioi:ngraph.fabric hieugioi$ npm install

> [email protected] install /Users/hieugioi/Repos/Study/ngraph.fabric/node_modules/canvas
> node-gyp rebuild

./util/has_lib.sh: line 31: pkg-config: command not found
gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.5.0
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 /Users/hieugioi/Repos/Study/ngraph.fabric/node_modules/canvas
gyp ERR! node -v v6.10.3
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
npm ERR! Darwin 16.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v6.10.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the canvas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs canvas
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls canvas
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/hieugioi/Repos/Study/ngraph.fabric/npm-debug.log

ngraph.fabric is dependent of [email protected]

i can't install [email protected] , how can i use the latest version of canvas instead of [email protected]

here is the errors i get when installing ngraph.fabric

 [email protected] install /home/dz/dev/data mining/app/node_modules/ngraph.fabric/node_modules/canvas
> node-gyp rebuild

make: Entering directory '/home/dz/dev/data mining/app/node_modules/ngraph.fabric/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.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<v8::Signature> NanNew(v8::Handle<v8::FunctionTemplate>, int, v8::Handle<v8::FunctionTemplate>*)’:
../../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>*&)’
     return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
                                                                              ^
In file included from ../src/Canvas.h:11:0,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:4832:27: note: candidate: static v8::Local<v8::Signature> v8::Signature::New(v8::Isolate*, v8::Local<v8::FunctionTemplate>)
   static Local<Signature> New(
                           ^~~
/home/dz/.node-gyp/6.9.2/include/node/v8.h:4832:27: note:   candidate expects 2 arguments, 4 provided
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P, const v8::ScriptOrigin&)’:
../../nan/nan.h:397:32: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::ScriptCompiler::CompileUnbound(
                                ^~~~~~~~~~~~~~
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:1334:45: note: declared here
                        Local<UnboundScript> CompileUnbound(
                                             ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::UnboundScript; P = v8::Local<v8::String>]’:
../../nan/nan.h:406:32: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::ScriptCompiler::CompileUnbound(
                                ^~~~~~~~~~~~~~
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:1334:45: note: declared here
                        Local<UnboundScript> CompileUnbound(
                                             ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:407:43: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), &source);
                                           ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:1334:45: note: declared here
                        Local<UnboundScript> CompileUnbound(
                                             ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::BooleanObject; P = bool]’:
../../nan/nan.h:412:40: warning: ‘static v8::Local<v8::Value> v8::BooleanObject::New(bool)’ is deprecated: Pass an isolate [-Wdeprecated-declarations]
     return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                        ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:4007:56: note: declared here
   V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                        ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: At global scope:
../../nan/nan.h:424:3: error: redefinition of ‘v8::Local<T> NanNew(P) [with T = v8::StringObject; P = v8::Local<v8::String>]’
   NanNew<v8::StringObject, v8::Handle<v8::String> >(
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:417:3: note: ‘v8::Local<T> NanNew(P) [with T = v8::StringObject; P = v8::Local<v8::String>]’ previously declared here
   NanNew<v8::StringObject, v8::Local<v8::String> >(
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:442:36: error: redefinition of ‘template<class T> v8::Local<v8::RegExp> NanNew(v8::Local<v8::String>, v8::RegExp::Flags)’
   NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                    ^~~~~~
../../nan/nan.h:436:36: note: ‘template<class T> v8::Local<v8::RegExp> NanNew(v8::Handle<v8::String>, v8::RegExp::Flags)’ previously declared here
   NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                    ^~~~~~
../../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)’
   NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                    ^~~~~~
../../nan/nan.h:448:36: note: ‘template<class T, class P> v8::Local<v8::RegExp> NanNew(v8::Handle<v8::String>, v8::RegExp::Flags)’ previously declared here
   NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                    ^~~~~~
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::Uint32; P = int]’:
../../nan/nan.h:462:51: warning: ‘v8::Local<v8::Uint32> v8::Value::ToUint32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), val)->ToUint32();
                                                   ^
In file included from ../src/Canvas.h:11:0,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:8196:15: note: declared here
 Local<Uint32> Value::ToUint32() const {
               ^~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::Uint32; P = unsigned int]’:
../../nan/nan.h:468:51: warning: ‘v8::Local<v8::Uint32> v8::Value::ToUint32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), val)->ToUint32();
                                                   ^
In file included from ../src/Canvas.h:11:0,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:8196:15: note: declared here
 Local<Uint32> Value::ToUint32() const {
               ^~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::Int32; P = int]’:
../../nan/nan.h:473:68: warning: ‘v8::Local<v8::Int32> v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::Int32::New(v8::Isolate::GetCurrent(), val)->ToInt32();
                                                                    ^
In file included from ../src/Canvas.h:11:0,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:8202:14: note: declared here
 Local<Int32> Value::ToInt32() const {
              ^~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::Int32; P = unsigned int]’:
../../nan/nan.h:478:68: warning: ‘v8::Local<v8::Int32> v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::Int32::New(v8::Isolate::GetCurrent(), val)->ToInt32();
                                                                    ^
In file included from ../src/Canvas.h:11:0,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:8202:14: note: declared here
 Local<Int32> Value::ToInt32() const {
              ^~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P, int) [with T = v8::String; P = unsigned char*]’:
../../nan/nan.h:522:15: warning: ‘static v8::Local<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       , length);
               ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:2334:21: note: declared here
       Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                     ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P, int) [with T = v8::String; P = const unsigned char*]’:
../../nan/nan.h:533:15: warning: ‘static v8::Local<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       , length);
               ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:2334:21: note: declared here
       Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                     ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::String; P = unsigned char*]’:
../../nan/nan.h:538:69: warning: ‘static v8::Local<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), arg);
                                                                     ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:2334:21: note: declared here
       Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                     ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<T> NanNew(P) [with T = v8::String; P = const unsigned char*]’:
../../nan/nan.h:544:69: warning: ‘static v8::Local<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), arg);
                                                                     ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:2334:21: note: declared here
       Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                     ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<v8::String> NanNew(v8::String::ExternalStringResource*)’:
../../nan/nan.h:619:71: warning: ‘static v8::Local<v8::String> v8::String::NewExternal(v8::Isolate*, v8::String::ExternalStringResource*)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::String::NewExternal(v8::Isolate::GetCurrent(), resource);
                                                                       ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:2372:38: note: declared here
                        Local<String> NewExternal(
                                      ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: At global scope:
../../nan/nan.h:623:19: error: ‘NanNew’ declared as an ‘inline’ variable
       v8::String::ExternalAsciiStringResource *resource) {
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:623:19: warning: ‘always_inline’ attribute ignored [-Wattributes]
../../nan/nan.h:623:19: error: ‘v8::Local<v8::String> NanNew’ redeclared as different kind of symbol
../../nan/nan.h:617:36: note: previous declaration ‘v8::Local<v8::String> NanNew(v8::String::ExternalStringResource*)’
   NAN_INLINE v8::Local<v8::String> NanNew(
                                    ^~~~~~
../../nan/nan.h:623:7: error: ‘ExternalAsciiStringResource’ is not a member of ‘v8::String’
       v8::String::ExternalAsciiStringResource *resource) {
       ^~
../../nan/nan.h:623:48: error: ‘resource’ was not declared in this scope
       v8::String::ExternalAsciiStringResource *resource) {
                                                ^~~~~~~~
../../nan/nan.h:637:27: error: redefinition of ‘template<class T> v8::Local<T> _NanEscapeScopeHelper(v8::Local<T>)’
   NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
                           ^~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:632:27: note: ‘template<class T> v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T>)’ previously declared here
   NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T> val) {
                           ^~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:701:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^~~~~~~~~~~~~~~~~~
../../nan/nan.h:701:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCEpilogueCallback callback
       ^~
../../nan/nan.h:702:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^~~~~~~~~~~~~~
../../nan/nan.h:707:20: error: variable or field ‘NanRemoveGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^~~~~~~~~~~~~~~~~~
../../nan/nan.h:707:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCEpilogueCallback callback) {
       ^~
../../nan/nan.h:712:20: error: variable or field ‘NanAddGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback
                    ^~~~~~~~~~~~~~~~~~
../../nan/nan.h:712:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCPrologueCallback callback
       ^~
../../nan/nan.h:713:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^~~~~~~~~~~~~~
../../nan/nan.h:718:20: error: variable or field ‘NanRemoveGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^~~~~~~~~~~~~~~~~~
../../nan/nan.h:718:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCPrologueCallback callback) {
       ^~
../../nan/nan.h:889:13: error: ‘node::smalloc’ has not been declared
     , node::smalloc::FreeCallback callback
             ^~~~~~~
../../nan/nan.h:889:35: error: expected ‘,’ or ‘...’ before ‘callback’
     , node::smalloc::FreeCallback callback
                                   ^~~~~~~~
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../../nan/nan.h:893:50: error: ‘callback’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^~~~~~~~
../../nan/nan.h:893:60: error: ‘hint’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^~~~
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../../nan/nan.h:900:67: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
In file included from ../../nan/nan.h:179:0,
                 from ../src/Canvas.h:22,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/node_buffer.h:46:40: note:   initializing argument 2 of ‘v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h:900:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../../nan/nan.h:904:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../../nan/nan.h:911:12: error: ‘Use’ is not a member of ‘node::Buffer’
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^~~~
../../nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan.h:938:74: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                                                                          ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:1354:21: note: declared here
       Local<Script> Compile(Isolate* isolate, Source* source,
                     ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>)’:
../../nan/nan.h:945:74: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                                                                          ^
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:1354:21: note: declared here
       Local<Script> Compile(Isolate* isolate, Source* source,
                     ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/Canvas.h:22:0,
                 from ../src/Canvas.cc:7:
../../nan/nan.h: In function ‘bool _NanGetExternalParts(v8::Handle<v8::Value>, const char**, size_t*)’:
../../nan/nan.h:1993:12: error: ‘class v8::String’ has no member named ‘IsExternalAscii’; did you mean ‘IsExternal’?
   if (str->IsExternalAscii()) {
            ^~~~~~~~~~~~~~~
../../nan/nan.h:1994:23: error: ‘ExternalAsciiStringResource’ in ‘class v8::String’ does not name a type
     const v8::String::ExternalAsciiStringResource* ext;
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1995:5: error: ‘ext’ was not declared in this scope
     ext = str->GetExternalAsciiStringResource();
     ^~~
../../nan/nan.h:1995:16: error: ‘class v8::String’ has no member named ‘GetExternalAsciiStringResource’; did you mean ‘GetExternalStringResource’?
     ext = str->GetExternalAsciiStringResource();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static void Canvas::ToBuffer(const v8::FunctionCallbackInfo<v8::Value>&)’:
../src/Canvas.cc:324:14: warning: ‘v8::TryCatch::TryCatch()’ is deprecated: Use isolate version [-Wdeprecated-declarations]
     TryCatch try_catch;
              ^~~~~~~~~
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:6771:40: note: declared here
   V8_DEPRECATED("Use isolate version", TryCatch());
                                        ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static void Canvas::StreamPNGSync(const v8::FunctionCallbackInfo<v8::Value>&)’:
../src/Canvas.cc:415:12: warning: ‘v8::TryCatch::TryCatch()’ is deprecated: Use isolate version [-Wdeprecated-declarations]
   TryCatch try_catch;
            ^~~~~~~~~
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:6771:40: note: declared here
   V8_DEPRECATED("Use isolate version", TryCatch());
                                        ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static void Canvas::StreamJPEGSync(const v8::FunctionCallbackInfo<v8::Value>&)’:
../src/Canvas.cc:456:12: warning: ‘v8::TryCatch::TryCatch()’ is deprecated: Use isolate version [-Wdeprecated-declarations]
   TryCatch try_catch;
            ^~~~~~~~~
In file included from /home/dz/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from ../src/Canvas.h:11,
                 from ../src/Canvas.cc:7:
/home/dz/.node-gyp/6.9.2/include/node/v8.h:6771:40: note: declared here
   V8_DEPRECATED("Use isolate version", TryCatch());
                                        ^
/home/dz/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
canvas.target.mk:121: recipe for target 'Release/obj.target/canvas/src/Canvas.o' failed
make: *** [Release/obj.target/canvas/src/Canvas.o] Error 1
make: Leaving directory '/home/dz/dev/data mining/app/node_modules/ngraph.fabric/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/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.8.0-32-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/dz/dev/data mining/app/node_modules/ngraph.fabric/node_modules/canvas
gyp ERR! node -v v6.9.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
npm ERR! Linux 4.8.0-32-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "ngraph.fabric" "--save"
npm ERR! node v6.9.2
npm ERR! npm  v4.0.5
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the canvas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs canvas
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls canvas
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/dz/dev/data mining/app/npm-debug.log

cordially

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.