nukedzn / node-informix

A node.js native client for IBM Informix
18 stars 10 forks source link

build failure on arm linux | raspbian #44

Open saraf opened 7 years ago

saraf commented 7 years ago

Trying to use this module on a Raspbian Jessie ARM linux install on a Raspberry Pi 2B

Building is resulting in compilation errors.

npm install --save informix

> informix@0.5.7 install /home/pi/sandbox/mine/informix-module/node_modules/informix
> node-gyp rebuild

make: Entering directory '/home/pi/sandbox/mine/informix-module/node_modules/informix/build'
  ACTION binding_gyp_esqlc_target_esql_preprocess Release/obj/gen/src/esqlc.cpp
esqlc: "esqlc.ecpp", line 19: Warning -33011: Current declaration of 'esql_user' hides previous declaration.
esqlc: "esqlc.ecpp", line 20: Warning -33011: Current declaration of 'esql_pass' hides previous declaration.
2 warning(s)
  TOUCH Release/obj.target/esqlc.stamp
  CXX(target) Release/obj.target/ifx/src/module.o
  CXX(target) Release/obj.target/ifx/src/ifx/ifx.o
  CXX(target) Release/obj.target/ifx/src/ifx/workers/connect.o
  CXX(target) Release/obj.target/ifx/src/ifx/workers/disconnect.o
  CXX(target) Release/obj.target/ifx/src/ifx/workers/stmtprepare.o
  CXX(target) Release/obj.target/ifx/src/ifx/workers/stmtexec.o
  CXX(target) Release/obj.target/ifx/src/ifx/workers/stmtfree.o
  CXX(target) Release/obj.target/ifx/src/ifx/workers/fetch.o
In file included from ../../nan/nan.h:198:0,
                 from ../src/ifx/workers/fetch.h:5,
                 from ../src/ifx/workers/fetch.cpp:6:
../../nan/nan_new.h: In instantiation of ‘typename Nan::imp::Factory<T>::return_t Nan::New(A0) [with T = v8::Int32; A0 = long int; typename Nan::imp::Factory<T>::return_t = v8::Local<v8::Int32>]’:
../src/ifx/workers/fetch.cpp:141:76:   required from here
../../nan/nan_new.h:208:35: error: call of overloaded ‘New(long int&)’ is ambiguous
   return imp::Factory<T>::New(arg0);
                                   ^
../../nan/nan_new.h:208:35: note: candidates are:
In file included from ../../nan/nan_new.h:189:0,
                 from ../../nan/nan.h:198,
                 from ../src/ifx/workers/fetch.h:5,
                 from ../src/ifx/workers/fetch.cpp:6:
../../nan/nan_implementation_12_inl.h:158:1: note: static Nan::imp::IntegerFactory<T>::return_t Nan::imp::IntegerFactory<T>::New(int32_t) [with T = v8::Int32; Nan::imp::IntegerFactory<T>::return_t = v8::Local<v8::Int32>; int32_t = int]
 IntegerFactory<T>::New(int32_t value) {
 ^
In file included from ../../nan/nan.h:198:0,
                 from ../src/ifx/workers/fetch.h:5,
                 from ../src/ifx/workers/fetch.cpp:6:
../../nan/nan_new.h:114:26: note: static Nan::imp::IntegerFactory<T>::return_t Nan::imp::IntegerFactory<T>::New(uint32_t) [with T = v8::Int32; Nan::imp::IntegerFactory<T>::return_t = v8::Local<v8::Int32>; uint32_t = unsigned int]
   static inline return_t New(uint32_t value);
                          ^
In file included from ../../nan/nan.h:198:0,
                 from ../src/ifx/workers/fetch.h:5,
                 from ../src/ifx/workers/fetch.cpp:6:
../../nan/nan_new.h: In function ‘typename Nan::imp::Factory<T>::return_t Nan::New(A0) [with T = v8::Int32; A0 = long int; typename Nan::imp::Factory<T>::return_t = v8::Local<v8::Int32>]’:
../../nan/nan_new.h:209:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ifx.target.mk:112: recipe for target 'Release/obj.target/ifx/src/ifx/workers/fetch.o' failed
make: *** [Release/obj.target/ifx/src/ifx/workers/fetch.o] Error 1
make: Leaving directory '/home/pi/sandbox/mine/informix-module/node_modules/informix/build'
uatuko commented 7 years ago

Hmm, looks like the error is coming from NaN.

@saraf, could you please let me know node and npm versions you are using?

saraf commented 7 years ago

I am using n version manager to get LTS.

 [pi@chintu:~] $ node --version
 v6.11.2
 [pi@chintu:~] $ npm --version
 3.10.10