c4milo / fusejs

Low level fuse bindings for nodejs
http://c4milo.github.io/fusejs
112 stars 72 forks source link

Fix compile errors on linux, newer gcc #10

Closed ackalker closed 12 years ago

ackalker commented 12 years ago

This fixes several compile errors on linux, e.g.:

(from node-waf configure build -k)

Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr 
Checking for program node                : /usr/bin/node 
Checking for fuse >= 2.7                 : yes 
'configure' finished successfully (0.041s)
Waf: Entering directory `/home/miki/vcs/git/fusejs/build'
[1/6] cxx: src/node_fuse.cc -> build/Release/src/node_fuse_1.o
[2/6] cxx: src/bindings.cc -> build/Release/src/bindings_1.o
../src/bindings.cc: In destructor ‘virtual NodeFuse::Fuse::~Fuse()’:
../src/bindings.cc:48:28: fout: ‘free’ was not declared in this scope
[3/6] cxx: src/reply.cc -> build/Release/src/reply_1.o
../src/reply.cc: In destructor ‘virtual NodeFuse::Reply::~Reply()’:
../src/reply.cc:38:31: fout: ‘free’ was not declared in this scope
../src/reply.cc: In static member function ‘static v8::Handle<v8::Value> NodeFuse::Reply::AddDirEntry(const v8::Arguments&)’:
../src/reply.cc:485:79: fout: ‘malloc’ was not declared in this scope
[4/6] cxx: src/file_info.cc -> build/Release/src/file_info_1.o
../src/file_info.cc: In static member function ‘static v8::Handle<v8::Value> NodeFuse::FileInfo::GetFlags(v8::Local<v8::String>, const v8::AccessorInfo&)’:
../src/file_info.cc:122:21: fout: ‘O_SHLOCK’ was not declared in this scope
../src/file_info.cc:126:21: fout: ‘O_EXLOCK’ was not declared in this scope
../src/file_info.cc:134:21: fout: ‘O_SYMLINK’ was not declared in this scope
../src/file_info.cc:138:21: fout: ‘O_EVTONLY’ was not declared in this scope
[5/6] cxx: src/filesystem.cc -> build/Release/src/filesystem_1.o
../src/filesystem.cc: In static member function ‘static void NodeFuse::FileSystem::Initialize()’:
../src/filesystem.cc:91:43: fout: invalid conversion from ‘void (*)(fuse_req_t, fuse_ino_t, const char*, const char*, size_t, int, uint32_t) {aka void (*)(fuse_req*, long unsigned int, const char*, const char*, long unsigned int, int, unsigned int)}’ to ‘void (*)(fuse_req_t, fuse_ino_t, const char*, const char*, size_t, int) {aka void (*)(fuse_req*, long unsigned int, const char*, const char*, long unsigned int, int)}’ [-fpermissive]
../src/filesystem.cc:92:43: fout: invalid conversion from ‘void (*)(fuse_req_t, fuse_ino_t, const char*, size_t, uint32_t) {aka void (*)(fuse_req*, long unsigned int, const char*, long unsigned int, unsigned int)}’ to ‘void (*)(fuse_req_t, fuse_ino_t, const char*, size_t) {aka void (*)(fuse_req*, long unsigned int, const char*, long unsigned int)}’ [-fpermissive]
Waf: Leaving directory `/home/miki/vcs/git/fusejs/build'
Build failed:
 -> task failed (err #1): 
    {task: cxx bindings.cc -> bindings_1.o}
 -> task failed (err #1): 
    {task: cxx reply.cc -> reply_1.o}
 -> task failed (err #1): 
    {task: cxx file_info.cc -> file_info_1.o}
 -> task failed (err #1): 
    {task: cxx filesystem.cc -> filesystem_1.o}
Missing node signature for bld:///home/miki/vcs/git/fusejs/src/bindings_1.o (required by 
    {task: cxx_link node_fuse_1.o,bindings_1.o,reply_1.o,file_info_1.o,filesystem_1.o -> fuse.node})
c4milo commented 12 years ago

Hey @ackalker, it looks good, thank you!. I've been aiming to test fusejs more in linux but I haven't found the time to do it. This is helpful.

ackalker commented 12 years ago

Op 03-11-12 14:41, Camilo Aguilar schreef:

Hey @ackalker https://github.com/ackalker, it looks good, thank you!. I've been aiming to test fusejs more in linux but I haven't found the time to do it. This is helpful.

You're welcome :-)

Alain