ibmdb / node-ibm_db

IBM DB2 and IBM Informix bindings for node
MIT License
192 stars 150 forks source link

Support Node v10 #396

Closed alobaidizt closed 6 years ago

alobaidizt commented 6 years ago

Hi,

Are there any plans to support Node version 10? Trying to install ibm_db with version 10 fails.

Here is the logs output when running npm install ibm_db

Details: NPM@5.6.0 NODE@10.0.0 MacOS@10.13.4

> @newrelic/native-metrics@2.2.0 install /Users/alobaidizt/dev/taxonomy/node_modules/@newrelic/native-metrics
> node ./lib/pre-build.js install native_metrics

> /usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js clean configure
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

> /usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build -j 4 native_metrics
  CXX(target) Release/obj.target/native_metrics/src/native_metrics.o
  CXX(target) Release/obj.target/native_metrics/src/GCBinder.o
  CXX(target) Release/obj.target/native_metrics/src/LoopChecker.o
  CXX(target) Release/obj.target/native_metrics/src/RUsageMeter.o
In file included from ../src/RUsageMeter.cpp:3:
../node_modules/nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/native_metrics.cpp:2:
../node_modules/nan/nan.h:839:18: warning: 'MakeCallback'In file included from ../src/RUsageMeter.cpp :is3 :
deprecated: ../node_modules/nan/nan.hUse:
854      :MakeCallback(...,18 :async_context)  [-Wdeprecated-declarations]warning
: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context)     return node::MakeCallback([-Wdeprecated-declarations]

                 ^
    return node::MakeCallback(
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:                 ^171
:1: note/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h: :164'MakeCallback': 1has:
       been noteexplicitly:  marked'MakeCallback'  deprecatedhas
here      been
 explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88^:
20: note/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h: :88expanded: 20from:  macro
      note'NODE_DEPRECATED':
expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/native_metrics.cpp:2:
../node_modules/nan/nan.h:854:In file included from 18../src/RUsageMeter.cpp:: 3:
../node_modules/nan/nan.hwarning:: 869:18'MakeCallback':  is deprecated:warning : Use
      'MakeCallback'MakeCallback(...,  isasync_context)  deprecated:[-Wdeprecated-declarations] Use

      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
    return node::MakeCallback(
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:                 ^164
:1: note/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h: :157'MakeCallback': 1has:
       been noteexplicitly:  marked'MakeCallback'  deprecatedhas
here      been
 explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
NODE_DEPRECATED("Use MakeCallback(..., async_context)",/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h
:88^:
20: note/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h: :88expanded: 20from:  macro
      note'NODE_DEPRECATED':
expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/LoopChecker.cpp:    __attribute__((deprecated(message))) declarator5
:
In file included from ../src/LoopChecker.hpp                   ^:
3:
../node_modules/nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
In file included from ../src/native_metrics.cpp:2:
../node_modules/nan/nan.h:869:18NODE_DEPRECATED("Use MakeCallback(..., async_context)",:
 ^
warning: 'MakeCallback' /Users/alobaidizt/.node-gyp/10.0.0/include/node/node.his: 88deprecated:: 20Use:
      noteMakeCallback(...,:  async_context)expanded  [-Wdeprecated-declarations]from
macro
      'NODE_DEPRECATED'
    return node::MakeCallback(
                 ^    __attribute__((deprecated(message))) declarator

                   ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:157:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expandedIn file included from  ../src/LoopChecker.cppfrom: 5:
macroIn file included from
../src/LoopChecker.hpp      :'NODE_DEPRECATED'3:

../node_modules/nan/nan.h:854:18: warning: 'MakeCallback' is deprecated:    __attribute__((deprecated(message))) declarator
Use
                   ^
MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:164:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/LoopChecker.cpp:5:
In file included from ../src/LoopChecker.hpp:3:
../node_modules/nan/nan.h:869:18: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:157:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/GCBinder.cpp:2:
In file included from ../src/GCBinder.hpp:3:
../node_modules/nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/GCBinder.cpp:2:
In file included from ../src/GCBinder.hpp:3:
../node_modules/nan/nan.h:854:18: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:164:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/GCBinder.cpp:2:
In file included from ../src/GCBinder.hpp:3:
../node_modules/nan/nan.h:869:18: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:157:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/RUsageMeter.cpp:3:
../node_modules/nan/nan.h:1478:31: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declaratorIn file included from
../src/native_metrics.cpp:2                   ^:

../node_modules/nan/nan.h:1478:31: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/LoopChecker.cpp:5:
In file included from ../src/LoopChecker.hpp:3:
../node_modules/nan/nan.h:1478:31: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/GCBinder.cpp:2:
In file included from ../src/GCBinder.hpp:3:
../node_modules/nan/nan.h:1478:31: warning: 'MakeCallback' is deprecated: Use
      MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has
      been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro
      'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
4 warnings generated.
4 warnings generated.
4 warnings generated.
4 warnings generated.
  SOLINK_MODULE(target) Release/native_metrics.node
install successful: _newrelic_native_metrics-2_2_0-native_metrics-64-darwin-x64

> ibm_db@2.3.1 install /Users/alobaidizt/dev/taxonomy/node_modules/ibm_db
> node installer/driverInstall.js

Downloading DB2 ODBC CLI Driver from https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/macos64_odbc_cli.tar.gz...

100.00% | 20080158 bytes downloaded out of 20080158 bytes.

****************************************
You are downloading a package which includes the Node.js module for IBM DB2/Informix.  The module is licensed under the Apache License 2.0. The package also includes IBM ODBC and CLI Driver from IBM, which is automatically downloaded as the node module is installed on your system/device. The license agreement to the IBM ODBC and CLI Driver is available in undefined   Check for additional dependencies, which may come with their own license agreement(s). Your use of the components of the package and dependencies constitutes your acceptance of their respective license agreements. If you do not accept the terms of any license agreement(s), then delete the relevant component(s) from your device.
****************************************

Downloading and extraction of DB2 ODBC CLI Driver completed successfully ...

  CXX(target) Release/obj.target/odbc_bindings/src/odbc.o

{ Error: Command failed: node-gyp configure build  --IS_DOWNLOADED=true --IBM_DB_HOME="$IBM_DB_HOME"
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

In file included from ../src/odbc.cpp:28:
In file included from ../src/odbc.h:23:
In file included from ../../nan/nan.h:190:
../../nan/nan_maybe_43_inl.h:88:15: error: no member named 'ForceSet' in 'v8::Object'
  return obj->ForceSet(GetCurrentContext(), key, value, attribs);
         ~~~  ^
In file included from ../src/odbc.cpp:28:
In file included from ../src/odbc.h:23:
../../nan/nan.h:816:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/odbc.cpp:28:
In file included from ../src/odbc.h:23:
../../nan/nan.h:830:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:164:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/odbc.cpp:28:
In file included from ../src/odbc.h:23:
../../nan/nan.h:844:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:157:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../src/odbc.cpp:28:
In file included from ../src/odbc.h:23:
../../nan/nan.h:1457:31: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED("Use MakeCallback(..., async_context)",
^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/node.h:88:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
../src/odbc.cpp:207:80: error: no matching member function for call to 'NewInstance'
    Local<Object> js_result = Nan::New<Function>(ODBCConnection::constructor)->NewInstance(2, info);
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/Users/alobaidizt/.node-gyp/10.0.0/include/node/v8.h:3851:44: note: candidate function not viable: requires single argument 'context', but 2 arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                           ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/v8.h:3848:44: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                           ^
../src/odbc.cpp:250:78: error: no matching member function for call to 'NewInstance'
  Local<Object> js_result = Nan::New<Function>(ODBCConnection::constructor)->NewInstance(2, params);
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/Users/alobaidizt/.node-gyp/10.0.0/include/node/v8.h:3851:44: note: candidate function not viable: requires single argument 'context', but 2 arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                           ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/v8.h:3848:44: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                           ^
../src/odbc.cpp:1198:87: error: too few arguments to function call, expected 2, have 1
      objError->SetPrototype(Exception::Error(Nan::New(errorMessage).ToLocalChecked()));
      ~~~~~~~~~~~~~~~~~~~~~~                                                          ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/v8.h:3308:3: note: 'SetPrototype' declared here
  V8_WARN_UNUSED_RESULT Maybe<bool> SetPrototype(Local<Context> context,
  ^
/Users/alobaidizt/.node-gyp/10.0.0/include/node/v8config.h:410:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
4 warnings and 4 errors generated.
make: *** [Release/obj.target/odbc_bindings/src/odbc.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/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:225:12)
gyp ERR! System Darwin 17.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build" "--IS_DOWNLOADED=true" "--IBM_DB_HOME=/Users/alobaidizt/dev/taxonomy/node_modules/ibm_db/installer/clidriver"
gyp ERR! cwd /Users/alobaidizt/dev/taxonomy/node_modules/ibm_db
gyp ERR! node -v v10.0.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

    at ChildProcess.exithandler (child_process.js:282:12)
    at ChildProcess.emit (events.js:182:13)
    at maybeClose (internal/child_process.js:947:16)
    at Socket.stream.socket.on (internal/child_process.js:368:11)
    at Socket.emit (events.js:182:13)
    at Pipe._handle.close [as _onclose] (net.js:598:12)
  killed: false,
  code: 1,
  signal: null,
  cmd: 'node-gyp configure build  --IS_DOWNLOADED=true --IBM_DB_HOME="$IBM_DB_HOME"' }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ibm_db@2.3.1 install: `node installer/driverInstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ibm_db@2.3.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/alobaidizt/.npm/_logs/2018-05-08T17_29_45_318Z-debug.log
huineng commented 6 years ago

387

bimalkjha commented 6 years ago

@alobaidizt Note.js v10 has broke the backward compatibility and we are waiting for the release of a new version of nan package with Node 10 support. ibm_db has dependency on nan to support multiple versions of Node.js. Thanks.

alobaidizt commented 6 years ago

Thanks, @bimalkjha ! Already responded on issue #387

rhtpandeyIN commented 6 years ago

Issue has been addressed, new node-ibm_db version will be released soon. thanks.

alobaidizt commented 6 years ago

Thank you!