Skip to content

errors after upgrade to node 8 #173

@foxhound87

Description

@foxhound87

All was working good on node 7.

I've got 2 errors after upgrading from node 7 to node 8.

How can I fix this?

Thanks

Using Python 2.7

I get different errors (in Docker container or locally)

In Docker container:

make: Entering directory '/app/build'
  CXX(target) Release/obj.target/node-api/node_modules/node-addon-api/src/node_api.o
../node_modules/node-addon-api/src/node_api.cc: In function ‘napi_status napi_async_init(napi_env, napi_value, napi_value, napi_async_context__**)’:
../node_modules/node-addon-api/src/node_api.cc:2806:3: error: ‘async_context’ is not a member of ‘node’
   node::async_context* async_context = new node::async_context();
   ^
../node_modules/node-addon-api/src/node_api.cc:2806:24: error: ‘async_context’ was not declared in this scope
   node::async_context* async_context = new node::async_context();
                        ^
../node_modules/node-addon-api/src/node_api.cc:2806:44: error: expected type-specifier
   node::async_context* async_context = new node::async_context();
                                            ^
../node_modules/node-addon-api/src/node_api.cc:2808:78: error: cannot convert ‘v8::Local<v8::String>’ to ‘const char*’ for argument ‘3’ to ‘node::async_uid node::EmitAsyncInit(v8::Isolate*, v8::Local<v8::Object>, const char*, node::async_uid)’
   *async_context = node::EmitAsyncInit(isolate, v8_resource, v8_resource_name);
                                                                              ^
../node_modules/node-addon-api/src/node_api.cc: In function ‘napi_status napi_async_destroy(napi_env, napi_async_context)’:
../node_modules/node-addon-api/src/node_api.cc:2820:3: error: ‘async_context’ is not a member of ‘node’
   node::async_context* node_async_context =
   ^
../node_modules/node-addon-api/src/node_api.cc:2820:24: error: ‘node_async_context’ was not declared in this scope
   node::async_context* node_async_context =
                        ^
../node_modules/node-addon-api/src/node_api.cc:2821:30: error: ‘async_context’ in namespace ‘node’ does not name a type
       reinterpret_cast<node::async_context*>(async_context);
                              ^
../node_modules/node-addon-api/src/node_api.cc:2821:43: error: expected ‘>’ before ‘*’ token
       reinterpret_cast<node::async_context*>(async_context);
                                           ^
../node_modules/node-addon-api/src/node_api.cc:2821:43: error: expected ‘(’ before ‘*’ token
../node_modules/node-addon-api/src/node_api.cc:2821:44: error: expected primary-expression before ‘>’ token
       reinterpret_cast<node::async_context*>(async_context);
                                            ^
../node_modules/node-addon-api/src/node_api.cc:2821:60: error: expected ‘)’ before ‘;’ token
       reinterpret_cast<node::async_context*>(async_context);
                                                            ^
../node_modules/node-addon-api/src/node_api.cc: In function ‘napi_status napi_make_callback(napi_env, napi_async_context, napi_value, napi_value, size_t, napi_value__* const*, napi_value__**)’:
../node_modules/node-addon-api/src/node_api.cc:2849:3: error: ‘async_context’ is not a member of ‘node’
   node::async_context* node_async_context =
   ^
../node_modules/node-addon-api/src/node_api.cc:2849:24: error: ‘node_async_context’ was not declared in this scope
   node::async_context* node_async_context =
                        ^
../node_modules/node-addon-api/src/node_api.cc:2850:28: error: ‘async_context’ in namespace ‘node’ does not name a type
     reinterpret_cast<node::async_context*>(async_context);
                            ^
../node_modules/node-addon-api/src/node_api.cc:2850:41: error: expected ‘>’ before ‘*’ token
     reinterpret_cast<node::async_context*>(async_context);
                                         ^
../node_modules/node-addon-api/src/node_api.cc:2850:41: error: expected ‘(’ before ‘*’ token
../node_modules/node-addon-api/src/node_api.cc:2850:42: error: expected primary-expression before ‘>’ token
     reinterpret_cast<node::async_context*>(async_context);
                                          ^
../node_modules/node-addon-api/src/node_api.cc:2850:58: error: expected ‘)’ before ‘;’ token
     reinterpret_cast<node::async_context*>(async_context);
                                                          ^
../node_modules/node-addon-api/src/node_api.cc:2852:18: error: ‘async_context’ in namespace ‘node’ does not name a type
     static node::async_context empty_context = { 0, 0 };
                  ^
../node_modules/node-addon-api/src/node_api.cc:2853:27: error: ‘empty_context’ was not declared in this scope
     node_async_context = &empty_context;
                           ^
../node_modules/node-addon-api/src/node_api.cc: In constructor ‘uvimpl::Work::Work(napi_env, v8::Local<v8::Object>, v8::Local<v8::String>, napi_async_execute_callback, napi_async_complete_callback, void*)’:
../node_modules/node-addon-api/src/node_api.cc:3338:23: error: no matching function for call to ‘node::AsyncResource::AsyncResource(v8::Isolate*&, v8::Local<v8::Object>&, v8::Local<v8::String>&)’
     _complete(complete) {
                       ^
In file included from /data/var/home/gonano/.node-gyp/8.0.0/include/node/node_buffer.h:25:0,
                 from ../node_modules/node-addon-api/src/node_api.cc:11:
/data/var/home/gonano/.node-gyp/8.0.0/include/node/node.h:591:5: note: candidate: node::AsyncResource::AsyncResource(v8::Isolate*, v8::Local<v8::Object>, const char*, node::async_uid)
     AsyncResource(v8::Isolate* isolate,
     ^
/data/var/home/gonano/.node-gyp/8.0.0/include/node/node.h:591:5: note:   no known conversion for argument 3 from ‘v8::Local<v8::String>’ to ‘const char*’
/data/var/home/gonano/.node-gyp/8.0.0/include/node/node.h:589:7: note: candidate: node::AsyncResource::AsyncResource(const node::AsyncResource&)
 class AsyncResource {
       ^
/data/var/home/gonano/.node-gyp/8.0.0/include/node/node.h:589:7: note:   candidate expects 1 argument, 3 provided
../node_modules/node-addon-api/src/node_api.cc: In static member function ‘static void uvimpl::Work::CompleteCallback(uv_work_t*, int)’:
../node_modules/node-addon-api/src/node_api.cc:3374:7: error: ‘CallbackScope’ was not declared in this scope
       CallbackScope callback_scope(work);
       ^
node_modules/node-addon-api/src/node-api.target.mk:94: recipe for target 'Release/obj.target/node-api/node_modules/node-addon-api/src/node_api.o' failed
make: *** [Release/obj.target/node-api/node_modules/node-addon-api/src/node_api.o] Error 1
make: Leaving directory '/app/build'

Locally:

/project/node_modules/node-addon-api/napi.h:1072:12: error: unknown type name 'NAPI_NO_RETURN'
    static NAPI_NO_RETURN void Fatal(const char* location, const char* message);
           ^
/project/node_modules/node-addon-api/napi.h:1072:27: error: expected member name or ';' after
      declaration specifiers
    static NAPI_NO_RETURN void Fatal(const char* location, const char* message);
    ~~~~~~~~~~~~~~~~~~~~~ ^
In file included from ../binding.cpp:4:
In file included from /project/node_modules/node-addon-api/napi.h:1449:
/project/node_modules/node-addon-api/napi-inl.h:421:24: error: use of undeclared identifier
      'napi_create_double'
  napi_status status = napi_create_double(env, val, &value);
                       ^
/project/node_modules/node-addon-api/napi-inl.h:1427:3: error: no member named 'Fatal' in
      'Napi::Error'
  NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_get_last_error_info");
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1432:7: error: no member named 'Fatal' in
      'Napi::Error'
      NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_get_and_clear_last_exception");
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1440:7: error: no member named 'Fatal' in
      'Napi::Error'
      NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_is_exception_pending");
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1444:9: error: no member named 'Fatal' in
      'Napi::Error'
        NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_get_and_clear_last_exception");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1453:7: error: no member named 'Fatal' in
      'Napi::Error'
      NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_create_string_utf8");
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1461:20: error: no matching function for call
      to 'napi_create_type_error'
          status = napi_create_type_error(env, nullptr, message, &error);
                   ^~~~~~~~~~~~~~~~~~~~~~
/Users/cla/.node-gyp/8.0.0/include/node/node_api.h:147:25: note: candidate function not viable: requires 3 arguments,
      but 4 were provided
NAPI_EXTERN napi_status napi_create_type_error(napi_env env,
                        ^
In file included from ../binding.cpp:4:
In file included from /project/node_modules/node-addon-api/napi.h:1449:
/project/node_modules/node-addon-api/napi-inl.h:1464:20: error: no matching function for call
      to 'napi_create_error'
          status = napi_create_error(env, nullptr,  message, &error);
                   ^~~~~~~~~~~~~~~~~
/Users/cla/.node-gyp/8.0.0/include/node/node_api.h:144:25: note: candidate function not viable: requires 3 arguments,
      but 4 were provided
NAPI_EXTERN napi_status napi_create_error(napi_env env,
                        ^
In file included from ../binding.cpp:4:
In file included from /project/node_modules/node-addon-api/napi.h:1449:
/project/node_modules/node-addon-api/napi-inl.h:1467:9: error: no member named 'Fatal' in
      'Napi::Error'
        NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_create_error");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1476:10: error: no matching function for call
      to 'New'
  return Error::New<Error>(env, message, std::strlen(message), napi_create_error);
         ^~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi.h:1095:19: note: candidate function not viable: no
      known conversion from 'napi_status (napi_env, napi_value, napi_value *)' (aka 'napi_status (napi_env__ *,
      napi_value__ *, napi_value__ **)') to 'create_error_fn' (aka 'napi_status (*)(napi_env__ *, napi_value__ *,
      napi_value__ *, napi_value__ **)') for 4th argument
    static TError New(napi_env env,
                  ^
In file included from ../binding.cpp:4:
In file included from /project/node_modules/node-addon-api/napi.h:1449:
/project/node_modules/node-addon-api/napi-inl.h:1480:10: error: no matching function for call
      to 'New'
  return Error::New<Error>(env, message.c_str(), message.size(), napi_create_error);
         ^~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi.h:1095:19: note: candidate function not viable: no
      known conversion from 'napi_status (napi_env, napi_value, napi_value *)' (aka 'napi_status (napi_env__ *,
      napi_value__ *, napi_value__ **)') to 'create_error_fn' (aka 'napi_status (*)(napi_env__ *, napi_value__ *,
      napi_value__ *, napi_value__ **)') for 4th argument
    static TError New(napi_env env,
                  ^
In file included from ../binding.cpp:4:
In file included from /project/node_modules/node-addon-api/napi.h:1449:
/project/node_modules/node-addon-api/napi-inl.h:1483:8: error: unknown type name
      'NAPI_NO_RETURN'
inline NAPI_NO_RETURN void Error::Fatal(const char* location, const char* message) {
       ^
/project/node_modules/node-addon-api/napi-inl.h:1483:23: error: expected unqualified-id
inline NAPI_NO_RETURN void Error::Fatal(const char* location, const char* message) {
                      ^
/project/node_modules/node-addon-api/napi-inl.h:1496:5: error: no member named 'Fatal' in
      'Napi::Error'
    NAPI_FATAL_IF_FAILED(status, "Error::Error", "napi_create_reference");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:47:14: note: expanded from macro
      'NAPI_FATAL_IF_FAILED'
      Error::Fatal((location), (message));               \
      ~~~~~~~^
/project/node_modules/node-addon-api/napi-inl.h:1576:10: error: no matching function for call
      to 'New'
  return Error::New<TypeError>(env, message, std::strlen(message), napi_create_type_error);
         ^~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:1560:22: note: candidate function not viable:
      no known conversion from 'napi_status (napi_env, napi_value, napi_value *)' (aka 'napi_status (napi_env__ *,
      napi_value__ *, napi_value__ **)') to 'create_error_fn' (aka 'napi_status (*)(napi_env__ *, napi_value__ *,
      napi_value__ *, napi_value__ **)') for 4th argument
inline TError Error::New(napi_env env,
                     ^
/project/node_modules/node-addon-api/napi-inl.h:1580:10: error: no matching function for call
      to 'New'
  return Error::New<TypeError>(env, message.c_str(), message.size(), napi_create_type_error);
         ^~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:1560:22: note: candidate function not viable:
      no known conversion from 'napi_status (napi_env, napi_value, napi_value *)' (aka 'napi_status (napi_env__ *,
      napi_value__ *, napi_value__ **)') to 'create_error_fn' (aka 'napi_status (*)(napi_env__ *, napi_value__ *,
      napi_value__ *, napi_value__ **)') for 4th argument
inline TError Error::New(napi_env env,
                     ^
/project/node_modules/node-addon-api/napi-inl.h:1590:10: error: no matching function for call
      to 'New'
  return Error::New<RangeError>(env, message, std::strlen(message), napi_create_range_error);
         ^~~~~~~~~~~~~~~~~~~~~~
/project/node_modules/node-addon-api/napi-inl.h:1560:22: note: candidate function not viable:
      no known conversion from 'napi_status (napi_env, napi_value, napi_value *)' (aka 'napi_status (napi_env__ *,
      napi_value__ *, napi_value__ **)') to 'create_error_fn' (aka 'napi_status (*)(napi_env__ *, napi_value__ *,
      napi_value__ *, napi_value__ **)') for 4th argument
inline TError Error::New(napi_env env,
                     ^
´´´

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions