borgespires
borgespires

Reputation: 210

node-gyb build error on hello world

I was trying to compile the node hello world addon and when I call node-gyp configure build it generates several errors.

../binding.cc:6:19: error: unknown type name 'FunctionCallbackInfo'
    void Method(const FunctionCallbackInfo<Value>& args) {
                      ^
../binding.cc:6:39: error: expected ')'
    void Method(const FunctionCallbackInfo<Value>& args) {
                                          ^
../binding.cc:6:12: note: to match this '('
    void Method(const FunctionCallbackInfo<Value>& args) {
               ^
../binding.cc:8:15: error: no matching constructor for initialization of 'v8::HandleScope'
      HandleScope scope(isolate);
                  ^     ~~~~~~~
/***/***/.node-gyp/0.10.36/deps/v8/include/v8.h:473:3: note: candidate constructor not viable: no known conversion from 'v8::Isolate *' to 'const v8::HandleScope' for 1st
          argument
      HandleScope(const HandleScope&);
      ^
/****/***/.node-gyp/0.10.36/deps/v8/include/v8.h:448:3: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
      HandleScope();
      ^
../binding.cc:9:3: error: use of undeclared identifier 'args'
      args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));
      ^
../binding.cc:9:37: error: no member named 'NewFromUtf8' in 'v8::String'
      args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));

What can be the problem?

Upvotes: 1

Views: 1041

Answers (1)

robertklep
robertklep

Reputation: 203231

The problem is that the example assumes you're running Node 0.12, but you're running Node 0.10 (0.10.36 by the looks of it). There have been big (backward-incompatible) changes in the way addons are structured in Node 0.12.

Here's the 0.10-compatible version: https://github.com/joyent/node/blob/aa35564ca1c9f3854bc5f7983f2f00cb51f67ffe/test/addons/hello-world/binding.cc

An awesome package that will take care of a lot of the differences between Node versions is nan.

Upvotes: 1

Related Questions