Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not compiling on most recent Node.JS #22

Open
ajwinkworth opened this issue Jul 7, 2014 · 13 comments
Open

Not compiling on most recent Node.JS #22

ajwinkworth opened this issue Jul 7, 2014 · 13 comments

Comments

@ajwinkworth
Copy link

Hi,

I have tried compiling on v0.11.13 and would not compile due to errors.

I then tried v0.8.7 which compiled fine without warnings.

I then tried v0.10.29 which compiled and worked with warnings.
Now using node v0.10.29

Error while using v0.11.13

ubuntu@ajw:~/fuseTest2$ npm install fuse4js
npm http GET https://registry.npmjs.org/fuse4js
npm http 304 https://registry.npmjs.org/fuse4js

> [email protected] install /home/ubuntu/fuseTest2/node_modules/fuse4js
> node-gyp rebuild

make: Entering directory `/home/ubuntu/fuseTest2/node_modules/fuse4js/build'
  CXX(target) Release/obj.target/fuse4js/fuse4js.o
../fuse4js.cc:60:3: error: ‘uv_async_t’ does not name a type
   uv_async_t async;
   ^
../fuse4js.cc: In function ‘int f4js_rpc(fuseop_t, const char*)’:
../fuse4js.cc:185:23: error: ‘struct’ has no member named ‘async’
   uv_async_send(&f4js.async);
                       ^
../fuse4js.cc:185:28: error: ‘uv_async_send’ was not declared in this scope
   uv_async_send(&f4js.async);
                            ^
../fuse4js.cc: In function ‘void* fuse_thread(void*)’:
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::readlink’ [-Wmissing-field-initializers]
   struct fuse_operations ops = { 0 };
                                    ^
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::getdir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::mknod’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::mkdir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::unlink’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::rmdir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::symlink’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::rename’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::link’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::chmod’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::chown’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::truncate’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::utime’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::open’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::read’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::write’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::statfs’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::flush’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::release’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::fsync’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::setxattr’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::getxattr’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::listxattr’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::removexattr’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::opendir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::readdir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::releasedir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::fsyncdir’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::init’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::destroy’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::access’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::create’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::ftruncate’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::fgetattr’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::lock’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::utimens’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::bmap’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::flag_nullpath_ok’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::flag_nopath’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::flag_utime_omit_ok’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::flag_reserved’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::ioctl’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::poll’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::write_buf’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::read_buf’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::flock’ [-Wmissing-field-initializers]
../fuse4js.cc:376:36: warning: missing initializer for member ‘fuse_operations::fallocate’ [-Wmissing-field-initializers]
../fuse4js.cc: In function ‘void ConvertDate(v8::Handle&, std::string, timespec*)’:
../fuse4js.cc:416:33: error: ‘NewSymbol’ is not a member of ‘v8::String’
   Local prop = stat->Get(String::NewSymbol(name.c_str()));
                                 ^
../fuse4js.cc: At global scope:
../fuse4js.cc:431:31: error: ‘Arguments’ does not name a type
 void ProcessReturnValue(const Arguments& args)
                               ^
../fuse4js.cc:431:42: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 void ProcessReturnValue(const Arguments& args)
                                          ^
../fuse4js.cc: In function ‘void ProcessReturnValue(const int&)’:
../fuse4js.cc:433:12: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
   if (args.Length() >= 1 && args[0]->IsNumber()) {
            ^
../fuse4js.cc:433:35: error: invalid types ‘const int[int]’ for array subscript
   if (args.Length() >= 1 && args[0]->IsNumber()) {
                                   ^
../fuse4js.cc:434:54: error: invalid types ‘const int[int]’ for array subscript
     Local retval = Local::Cast(args[0]);
                                                      ^
../fuse4js.cc: At global scope:
../fuse4js.cc:441:39: error: ‘Arguments’ does not name a type
 Handle GetAttrCompletion(const Arguments& args)
                                       ^
../fuse4js.cc:441:50: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle GetAttrCompletion(const Arguments& args)
                                                  ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle GetAttrCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:443:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:445:36: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsObject()) {
                                    ^
../fuse4js.cc:445:59: error: invalid types ‘const int[int]’ for array subscript
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsObject()) {
                                                           ^
../fuse4js.cc:447:54: error: invalid types ‘const int[int]’ for array subscript
     Handle stat = Handle::Cast(args[1]);
                                                      ^
../fuse4js.cc:449:35: error: ‘NewSymbol’ is not a member of ‘v8::String’
     Local prop = stat->Get(String::NewSymbol("size"));
                                   ^
../fuse4js.cc:455:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("mode"));
                      ^
../fuse4js.cc:461:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("nlink"));
                      ^
../fuse4js.cc:467:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("uid"));
                      ^
../fuse4js.cc:473:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("gid"));
                      ^
../fuse4js.cc:492:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:492:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:497:39: error: ‘Arguments’ does not name a type
 Handle ReadDirCompletion(const Arguments& args)
                                       ^
../fuse4js.cc:497:50: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle ReadDirCompletion(const Arguments& args)
                                                  ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle ReadDirCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:499:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:501:36: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsArray()) {
                                    ^
../fuse4js.cc:501:59: error: invalid types ‘const int[int]’ for array subscript
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsArray()) {
                                                           ^
../fuse4js.cc:502:50: error: invalid types ‘const int[int]’ for array subscript
     Handle ar = Handle::Cast(args[1]);
                                                  ^
../fuse4js.cc:516:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:516:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:521:38: error: ‘Arguments’ does not name a type
 Handle StatfsCompletion(const Arguments& args)
                                      ^
../fuse4js.cc:521:49: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle StatfsCompletion(const Arguments& args)
                                                 ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle StatfsCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:523:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:525:36: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsObject()) {
                                    ^
../fuse4js.cc:525:59: error: invalid types ‘const int[int]’ for array subscript
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsObject()) {
                                                           ^
../fuse4js.cc:527:54: error: invalid types ‘const int[int]’ for array subscript
     Handle stat = Handle::Cast(args[1]);
                                                      ^
../fuse4js.cc:529:35: error: ‘NewSymbol’ is not a member of ‘v8::String’
     Local prop = stat->Get(String::NewSymbol("bsize"));
                                   ^
../fuse4js.cc:535:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("frsize"));
                      ^
../fuse4js.cc:541:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("blocks"));
                      ^
../fuse4js.cc:547:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("bfree"));
                      ^
../fuse4js.cc:553:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("bavail"));
                      ^
../fuse4js.cc:559:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("files"));
                      ^
../fuse4js.cc:565:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("ffree"));
                      ^
../fuse4js.cc:571:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("favail"));
                      ^
../fuse4js.cc:577:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("fsid"));
                      ^
../fuse4js.cc:583:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("flag"));
                      ^
../fuse4js.cc:589:22: error: ‘NewSymbol’ is not a member of ‘v8::String’
     prop = stat->Get(String::NewSymbol("namemax"));
                      ^
../fuse4js.cc:596:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:596:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:601:40: error: ‘Arguments’ does not name a type
 Handle ReadLinkCompletion(const Arguments& args)
                                        ^
../fuse4js.cc:601:51: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle ReadLinkCompletion(const Arguments& args)
                                                   ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle ReadLinkCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:603:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:605:36: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsString()) {
                                    ^
../fuse4js.cc:605:59: error: invalid types ‘const int[int]’ for array subscript
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsString()) {
                                                           ^
../fuse4js.cc:606:32: error: invalid types ‘const int[int]’ for array subscript
     String::Utf8Value av(args[1]);
                                ^
../fuse4js.cc:613:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:613:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:618:39: error: ‘Arguments’ does not name a type
 Handle GenericCompletion(const Arguments& args)
                                       ^
../fuse4js.cc:618:50: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle GenericCompletion(const Arguments& args)
                                                  ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle GenericCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:620:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:627:15: error: ‘uv_handle_t’ was not declared in this scope
     uv_unref((uv_handle_t*) &f4js.async);
               ^
../fuse4js.cc:627:27: error: expected primary-expression before ‘)’ token
     uv_unref((uv_handle_t*) &f4js.async);
                           ^
../fuse4js.cc:627:35: error: ‘struct’ has no member named ‘async’
     uv_unref((uv_handle_t*) &f4js.async);
                                   ^
../fuse4js.cc:627:40: error: ‘uv_unref’ was not declared in this scope
     uv_unref((uv_handle_t*) &f4js.async);
                                        ^
../fuse4js.cc:631:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:631:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:636:42: error: ‘Arguments’ does not name a type
 Handle OpenCreateCompletion(const Arguments& args)
                                          ^
../fuse4js.cc:636:53: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle OpenCreateCompletion(const Arguments& args)
                                                     ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle OpenCreateCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:638:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:640:36: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsNumber()) {
                                    ^
../fuse4js.cc:640:59: error: invalid types ‘const int[int]’ for array subscript
   if (f4js_cmd.retval == 0 && args.Length() >= 2 && args[1]->IsNumber()) {
                                                           ^
../fuse4js.cc:641:58: error: invalid types ‘const int[int]’ for array subscript
     Local fileHandle = Local::Cast(args[1]);
                                                          ^
../fuse4js.cc:647:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:647:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:652:36: error: ‘Arguments’ does not name a type
 Handle ReadCompletion(const Arguments& args)
                                    ^
../fuse4js.cc:652:47: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle ReadCompletion(const Arguments& args)
                                               ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle ReadCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:654:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:657:59: error: no matching function for call to ‘Data(v8::Persistent&)’
     char *buffer_data = node::Buffer::Data(f4js.nodeBuffer);
                                                           ^
../fuse4js.cc:657:59: note: candidates are:
In file included from ../fuse4js.cc:24:0:
/home/ubuntu/.node-gyp/0.11.13/src/node_buffer.h:40:19: note: char* node::Buffer::Data(v8::Handle)
 NODE_EXTERN char* Data(v8::Handle val);
                   ^
/home/ubuntu/.node-gyp/0.11.13/src/node_buffer.h:40:19: note:   no known conversion for argument 1 from ‘v8::Persistent’ to ‘v8::Handle’
/home/ubuntu/.node-gyp/0.11.13/src/node_buffer.h:41:19: note: char* node::Buffer::Data(v8::Handle)
 NODE_EXTERN char* Data(v8::Handle val);
                   ^
/home/ubuntu/.node-gyp/0.11.13/src/node_buffer.h:41:19: note:   no known conversion for argument 1 from ‘v8::Persistent’ to ‘v8::Handle’
../fuse4js.cc:663:19: error: ‘class v8::Persistent’ has no member named ‘Dispose’
   f4js.nodeBuffer.Dispose();
                   ^
../fuse4js.cc:665:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:665:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:670:37: error: ‘Arguments’ does not name a type
 Handle WriteCompletion(const Arguments& args)
                                     ^
../fuse4js.cc:670:48: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle WriteCompletion(const Arguments& args)
                                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle WriteCompletion(const int&)’:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../fuse4js.cc:672:15: error: within this context
   HandleScope scope;
               ^
../fuse4js.cc:674:19: error: ‘class v8::Persistent’ has no member named ‘Dispose’
   f4js.nodeBuffer.Dispose();
                   ^
../fuse4js.cc:676:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../fuse4js.cc:676:32: error: too few arguments to function ‘v8::Handle v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/ubuntu/.node-gyp/0.11.13/src/node.h:61:0,
                 from ../fuse4js.cc:23:
/home/ubuntu/.node-gyp/0.11.13/deps/v8/include/v8.h:336:28: note: declared here
   friend Handle Undefined(Isolate* isolate);
                            ^
../fuse4js.cc: At global scope:
../fuse4js.cc:682:24: error: variable or field ‘DispatchOp’ declared void
 static void DispatchOp(uv_async_t* handle, int status)
                        ^
../fuse4js.cc:682:24: error: ‘uv_async_t’ was not declared in this scope
../fuse4js.cc:682:36: error: ‘handle’ was not declared in this scope
 static void DispatchOp(uv_async_t* handle, int status)
                                    ^
../fuse4js.cc:682:44: error: expected primary-expression before ‘int’
 static void DispatchOp(uv_async_t* handle, int status)
                                            ^
../fuse4js.cc: In function ‘v8::Handle GetAttrCompletion(const int&)’:
../fuse4js.cc:493:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle ReadDirCompletion(const int&)’:
../fuse4js.cc:517:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle StatfsCompletion(const int&)’:
../fuse4js.cc:597:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle ReadLinkCompletion(const int&)’:
../fuse4js.cc:614:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle GenericCompletion(const int&)’:
../fuse4js.cc:632:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle OpenCreateCompletion(const int&)’:
../fuse4js.cc:648:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle ReadCompletion(const int&)’:
../fuse4js.cc:666:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../fuse4js.cc: In function ‘v8::Handle WriteCompletion(const int&)’:
../fuse4js.cc:677:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make: *** [Release/obj.target/fuse4js/fuse4js.o] Error 1
make: Leaving directory`/home/ubuntu/fuseTest2/node_modules/fuse4js/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/ubuntu/.nvm/v0.11.13/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1046:12)
gyp ERR! System Linux 3.13.0-24-generic
gyp ERR! command "node" "/home/ubuntu/.nvm/v0.11.13/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/ubuntu/fuseTest2/node_modules/fuse4js
gyp ERR! node -v v0.11.13
gyp ERR! node-gyp -v v0.13.0
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the fuse4js 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 their info via:
npm ERR!     npm owner ls fuse4js
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.13.0-24-generic
npm ERR! command "/home/ubuntu/.nvm/v0.11.13/bin/node" "/home/ubuntu/.nvm/v0.11.13/bin/npm" "install" "fuse4js"
npm ERR! cwd /home/ubuntu/fuseTest2
npm ERR! node -v v0.11.13
npm ERR! npm -v 1.4.9
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/ubuntu/fuseTest2/npm-debug.log
npm ERR! not ok code 0


I do not yet know enough about native node.js extensions to know where to even start.
Kind Regards
Adam
@ajwinkworth
Copy link
Author

After some investigation comments in issue #11 suggest integration of Nan would fix this with backwards compatibility. Seems like a reasonable option?

@nodiscc
Copy link

nodiscc commented Jul 18, 2014

I get a slightly different error log:

bsp@q35:~ $ sudo npm install fuse4js
[sudo] password for bsp:                      
npm http GET https://registry.npmjs.org/fuse4js
npm http 200 https://registry.npmjs.org/fuse4js

> [email protected] install /home/bsp/node_modules/fuse4js
> node-gyp rebuild

make: Entering directory '/home/bsp/node_modules/fuse4js/build'
  CXX(target) Release/obj.target/fuse4js/fuse4js.o
../fuse4js.cc: In function ‘void* fuse_thread(void*)’:
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::readlink’ [-Wmissing-field-initializers]
   struct fuse_operations ops = { 0 };
                                    ^
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::getdir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::mknod’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::mkdir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::unlink’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::rmdir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::symlink’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::rename’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::link’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::chmod’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::chown’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::truncate’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::utime’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::open’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::read’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::write’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::statfs’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::flush’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::release’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::fsync’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::setxattr’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::getxattr’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::listxattr’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::removexattr’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::opendir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::readdir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::releasedir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::fsyncdir’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::init’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::destroy’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::access’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::create’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::ftruncate’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::fgetattr’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::lock’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::utimens’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::bmap’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::flag_nullpath_ok’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::flag_nopath’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::flag_utime_omit_ok’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::flag_reserved’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::ioctl’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::poll’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::write_buf’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::read_buf’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::flock’ [-Wmissing-field-initializers]
../fuse4js.cc:368:36: warning: missing initializer for member ‘fuse_operations::fallocate’ [-Wmissing-field-initializers]
  SOLINK_MODULE(target) Release/obj.target/fuse4js.node
  SOLINK_MODULE(target) Release/obj.target/fuse4js.node: Finished
  COPY Release/fuse4js.node
make: Leaving directory '/home/bsp/node_modules/fuse4js/build'
[email protected] node_modules/fuse4js

Is this related?

Any help is greatly appreciated. Trying to run https://github.com/mafintosh/torrent-mount without success so far. (nodejs 0.10.29~dfsg-1)

@glamp
Copy link

glamp commented Jul 31, 2014

I'm also seeing this. Any luck finding a workaround?

@jfroffice
Copy link

+1 I have the same issue.

@feryardiant
Copy link

Same issue with Ubuntu 14.04 64bit using NodeJS v0.10.33 and NPM v1.4.28

@CYBAI
Copy link

CYBAI commented Nov 1, 2014

I have the same issue with Ubuntu 14.04 64bit and nodeJs v0.10.33, too

@jfroffice
Copy link

I have found a fix on Mac OS Yosemite.

xcode-select --install

@ryanramage
Copy link

Thanks @jfroffice. That fixed if for me on Mavericks

@EricTheMagician
Copy link
Contributor

So I've done most of the transfer to Nan because I'd like to see this work in 0.11/0.12.
EricTheMagician/fuse4js@0d0916b

I still have some compilation problems, but
I've opened an issue with nodejs/nan#220

Since it doesn't compile yet, it's not clear if I've broken anything while converting it to NAN.
So hopefully, this will work soon.

@EricTheMagician
Copy link
Contributor

So, I got to compile on OSX with node 0.11.14 :)
Now on to testing
EricTheMagician/fuse4js@224d591

@instantaphex
Copy link

Any progress on this? I'm not able to build against v0.11.14 on Arch Linux. I can build against v0.10.29 and it seems to work.

@epitron
Copy link

epitron commented Feb 21, 2015

thejinx0r's 0.11 branch builds fine for me on Arch Linux!

https://github.com/thejinx0r/fuse4js/tree/0.11

Try that one if you're having problems.

(Note: Once you've cloned the repo, you have to switch to the "0.11" branch by typing git checkout -b 0.11 origin/0.11)

Can this be merged?

@epitron
Copy link

epitron commented Feb 21, 2015

Looks like somebody's already merged all the fixes into a single pull request! #31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants