node-portaudio icon indicating copy to clipboard operation
node-portaudio copied to clipboard

another compile failure

Open mcfiredrill opened this issue 10 years ago • 1 comments

tony@moguya ~/src/node-portaudio(master)$ node-gyp configure build
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info spawn python2
gyp info spawn args [ '/usr/local/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/tony/src/node-portaudio/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/tony/.node-gyp/0.12.7/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/tony/.node-gyp/0.12.7',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/tony/src/node-portaudio',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/portAudio/src/binding.o
In file included from ../src/binding.cpp:2:
../src/nodePortAudio.h:7:34: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
v8::Handle<v8::Value> Open(const v8::Arguments& args);
                                 ^~~~~~~~~~~~~
                                 v8::internal::Arguments
/Users/tony/.node-gyp/0.12.7/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/binding.cpp:2:
../src/nodePortAudio.h:8:40: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
v8::Handle<v8::Value> GetDevices(const v8::Arguments& args);
                                       ^~~~~~~~~~~~~
                                       v8::internal::Arguments
/Users/tony/.node-gyp/0.12.7/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../src/binding.cpp:7:21: error: calling a protected constructor of class 'v8::HandleScope'
    v8::HandleScope scope;
                    ^
/Users/tony/.node-gyp/0.12.7/deps/v8/include/v8.h:816:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../src/binding.cpp:8:5: error: no matching function for call to 'NODE_SET_METHOD'
    NODE_SET_METHOD(target, "open", Open);
    ^~~~~~~~~~~~~~~
/Users/tony/.node-gyp/0.12.7/src/node.h:240:25: note: expanded from macro 'NODE_SET_METHOD'
#define NODE_SET_METHOD node::NODE_SET_METHOD
                        ^~~~~~~~~~~~~~~~~~~~~
/Users/tony/.node-gyp/0.12.7/src/node.h:228:13: note: candidate function [with TypeName = v8::Handle<v8::Object>] not viable: no known conversion from
      'v8::Handle<v8::Value> (const v8::internal::Arguments &)' to 'v8::FunctionCallback' (aka 'void (*)(const FunctionCallbackInfo<v8::Value> &)') for 3rd argument
inline void NODE_SET_METHOD(const TypeName& recv,
            ^
../src/binding.cpp:9:5: error: no matching function for call to 'NODE_SET_METHOD'
    NODE_SET_METHOD(target, "getDevices", GetDevices);
    ^~~~~~~~~~~~~~~
/Users/tony/.node-gyp/0.12.7/src/node.h:240:25: note: expanded from macro 'NODE_SET_METHOD'
#define NODE_SET_METHOD node::NODE_SET_METHOD
                        ^~~~~~~~~~~~~~~~~~~~~
/Users/tony/.node-gyp/0.12.7/src/node.h:228:13: note: candidate function [with TypeName = v8::Handle<v8::Object>] not viable: no known conversion from
      'v8::Handle<v8::Value> (const v8::internal::Arguments &)' to 'v8::FunctionCallback' (aka 'void (*)(const FunctionCallbackInfo<v8::Value> &)') for 3rd argument
inline void NODE_SET_METHOD(const TypeName& recv,
            ^
5 errors generated.
make: *** [Release/obj.target/portAudio/src/binding.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "node" "/usr/local/bin/node-gyp" "configure" "build"
gyp ERR! cwd /Users/tony/src/node-portaudio
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

mcfiredrill avatar Oct 18 '15 08:10 mcfiredrill

I guess its not supported on node > 0.10. It would require a pretty big rewrite. I tried to update to the new API but didn't get very far. Pretty difficult for me. :sweat:

https://github.com/mcfiredrill/node-portaudio/tree/upgrade-for-node12

mcfiredrill avatar Oct 18 '15 10:10 mcfiredrill