Not compiling on most recent Node.JS
ajwinkworth opened this issue · 13 comments
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
> fuse4js@0.1.9 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! fuse4js@0.1.9 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fuse4js@0.1.9 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
After some investigation comments in issue #11 suggest integration of Nan would fix this with backwards compatibility. Seems like a reasonable option?
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
> fuse4js@0.1.9 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'
fuse4js@0.1.9 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)
I'm also seeing this. Any luck finding a workaround?
+1 I have the same issue.
Same issue with Ubuntu 14.04 64bit using NodeJS v0.10.33 and NPM v1.4.28
I have the same issue with Ubuntu 14.04 64bit and nodeJs v0.10.33, too
I have found a fix on Mac OS Yosemite.
xcode-select --install
Thanks @jfroffice. That fixed if for me on Mavericks
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.
So, I got to compile on OSX with node 0.11.14 :)
Now on to testing
EricTheMagician/fuse4js@224d591
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.
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?