grover / homebridge-ranger

A HomeKit range extender for Bluetooth Low Energy (BLE) accessories.
MIT License
73 stars 15 forks source link

Unable to install on fresh raspberrypi install #12

Closed CLARENNE-Q closed 5 years ago

CLARENNE-Q commented 5 years ago

Hello,

A big thank you for this beautiful project that will allow me to expand the number of devices on my homekit and despite the distance.

I am trying to install this on my Rasperby, however I have this error when I try to install the plugin;

pi@raspberrypi:~ $ sudo npm install -g homebridge-ranger --unsafe-perm

> curve25519-n@1.4.0 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n/build'
  CXX(target) Release/obj.target/curve/node_curve.o
../node_curve.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE DoCurve(Nan::NAN_METHOD_ARGS_TYPE)’:
../node_curve.cc:18:79: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg0 = (unsigned char*) node::Buffer::Data(info[0]->ToObject());
                                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:53,
                 from ../node_curve.cc:10:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:19:79: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg1 = (unsigned char*) node::Buffer::Data(info[1]->ToObject());
                                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:53,
                 from ../node_curve.cc:10:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:20:79: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg2 = (unsigned char*) node::Buffer::Data(info[2]->ToObject());
                                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:53,
                 from ../node_curve.cc:10:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/curve.node
  COPY Release/curve.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n/build'

> ed25519-hap@0.0.5 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519-hap
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519-hap/build'
  CC(target) Release/obj.target/ed25519/src/ed25519/keypair.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sign.o
  CC(target) Release/obj.target/ed25519/src/ed25519/open.o
  CC(target) Release/obj.target/ed25519/src/ed25519/crypto_verify_32.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_double_scalarmult.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_scalarmult_base.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_precomp_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_cached.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_madd.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_msub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p3.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_1.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_cmov.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_copy.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_neg.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_mul.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_invert.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
  CXX(target) Release/obj.target/ed25519/src/ed25519.o
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE MakeKeypair(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:19:98: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 1) || (!Buffer::HasInstance(info[0])) || (Buffer::Length(info[0]->ToObject()) != 32)) {
                                                                                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:22:77: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  const unsigned char* seed = (unsigned char*)Buffer::Data(info[0]->ToObject());
                                                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Sign(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:53:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 2) || (!Buffer::HasInstance(info[0]->ToObject()))) {
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:56:74: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 32)) {
                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:57:72: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* seed = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                                        ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:65:81: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  } else if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 64)) {
                                                                                 ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:66:63: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   privateKey = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:53: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:119: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                                                                                       ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:76:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Verify(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:101:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 3) || (!Buffer::HasInstance(info[0]->ToObject())) ||
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                           ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:90: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:105:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:106:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> signature = info[1]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:107:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> publicKey = info[2]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/ed25519.node
  COPY Release/ed25519.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519-hap/build'

> usb@1.5.0 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb
> node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using needle for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://github.com/tessel/node-usb/releases/download/1.5.0/usb_bindings-v1.5.0-node-v67-linux-arm.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for usb@1.5.0 and node@11.6.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb/build'
  CC(target) Release/obj.target/libusb/libusb/libusb/core.o
  CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o
  CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o
  CC(target) Release/obj.target/libusb/libusb/libusb/io.o
  CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o
  CC(target) Release/obj.target/libusb/libusb/libusb/sync.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o
  AR(target) Release/obj.target/usb.a
  COPY Release/usb.a
  CXX(target) Release/obj.target/usb_bindings/src/node_usb.o
../src/node_usb.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE SetDebugLevel(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/node_usb.cc:99:73: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if (info.Length() != 1 || !info[0]->IsUint32() || info[0]->Uint32Value() > 4) {
                                                                         ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from ../src/node_usb.h:12,
                 from ../src/node_usb.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:2571:47: note: declared here
   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
                                               ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/node_usb.cc:103:53: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  libusb_set_debug(usb_context, info[0]->Uint32Value());
                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from ../src/node_usb.h:12,
                 from ../src/node_usb.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:2571:47: note: declared here
   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
                                               ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/node_usb.cc: In function ‘void handleHotplug(std::pair<libusb_device*, libusb_hotplug_event>)’:
../src/node_usb.cc:151:58: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv);
                                                          ^
In file included from ../src/helpers.h:3:0,
                 from ../src/node_usb.h:21,
                 from ../src/node_usb.cc:1:
../../nan/nan.h:1001:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/node_usb.cc: In function ‘v8::Local<v8::Value> libusbException(int)’:
../src/node_usb.cc:301:14: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  e->ToObject()->Set(Nan::New<String>("errno").ToLocalChecked(), Nan::New<Integer>(errorno));
              ^
In file included from ../src/node_usb.h:12:0,
                 from ../src/node_usb.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  CXX(target) Release/obj.target/usb_bindings/src/device.o
../src/device.cc: In static member function ‘static void Req::default_after(uv_work_t*)’:
../src/device.cc:237:64: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
    Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv);
                                                                ^
In file included from ../src/helpers.h:3:0,
                 from ../src/node_usb.h:21,
                 from ../src/device.cc:1:
../../nan/nan.h:959:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
  CXX(target) Release/obj.target/usb_bindings/src/transfer.o
../src/transfer.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Transfer_Submit(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/transfer.cc:58:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Local<Object> buffer_obj = info[0]->ToObject();
                                               ^
In file included from ../src/node_usb.h:12:0,
                 from ../src/transfer.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/transfer.cc: In function ‘void handleCompletion(Transfer*)’:
../src/transfer.cc:126:72: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv);
                                                                        ^
In file included from ../src/helpers.h:3:0,
                 from ../src/node_usb.h:21,
                 from ../src/transfer.cc:1:
../../nan/nan.h:959:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/usb_bindings.node
  COPY Release/usb_bindings.node
  COPY /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb/src/binding/usb_bindings.node
  TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb/build'

> bluetooth-hci-socket@0.5.1 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket/build'
  CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o
../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’:
../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                               ^
In file included from ../src/BluetoothHciSocket.cpp:8:0:
../../nan/nan.h:980:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’:
../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local<v8::Value> [1])’
   Local<Value> error = errorConstructor->NewInstance(1, constructorArgs);
                                                                        ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from /root/.node-gyp/11.6.0/include/node/node_buffer.h:25,
                 from ../src/BluetoothHciSocket.cpp:7:
/root/.node-gyp/11.6.0/include/node/v8.h:4105:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/root/.node-gyp/11.6.0/include/node/v8.h:4105:44: note:   candidate expects 3 arguments, 2 provided
/root/.node-gyp/11.6.0/include/node/v8.h:4108:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/root/.node-gyp/11.6.0/include/node/v8.h:4108:44: note:   candidate expects 1 argument, 2 provided
../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                             ^
In file included from ../src/BluetoothHciSocket.cpp:8:0:
../../nan/nan.h:980:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       devId = arg0->IntegerValue();
                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.6.0/include/node/node.h:63,
                 from /root/.node-gyp/11.6.0/include/node/node_buffer.h:25,
                 from ../src/BluetoothHciSocket.cpp:7:
/root/.node-gyp/11.6.0/include/node/v8.h:2570:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       devId = arg0->IntegerValue();
                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.6.0/include/node/node.h:63,
                 from /root/.node-gyp/11.6.0/include/node/node_buffer.h:25,
                 from ../src/BluetoothHciSocket.cpp:7:
/root/.node-gyp/11.6.0/include/node/v8.h:2570:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
binding.target.mk:99: recipe for target 'Release/obj.target/binding/src/BluetoothHciSocket.o' failed
make: *** [Release/obj.target/binding/src/BluetoothHciSocket.o] Error 1
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/node-v11.6.0-linux-armv7l/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Linux 4.14.79-v7+
gyp ERR! command "/opt/node-v11.6.0-linux-armv7l/bin/node" "/opt/node-v11.6.0-linux-armv7l/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket
gyp ERR! node -v v11.6.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 

> curve25519-n2@1.1.3 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n2
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n2/build'
  CXX(target) Release/obj.target/curve/node_curve.o
../node_curve.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE DoCurve(Nan::NAN_METHOD_ARGS_TYPE)’:
../node_curve.cc:28:73: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg0 = (unsigned char*) Buffer::Data(info[0]->ToObject());
                                                                         ^
In file included from ../node_curve.cc:1:0:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:29:73: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg1 = (unsigned char*) Buffer::Data(info[1]->ToObject());
                                                                         ^
In file included from ../node_curve.cc:1:0:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:30:73: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg2 = (unsigned char*) Buffer::Data(info[2]->ToObject());
                                                                         ^
In file included from ../node_curve.cc:1:0:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/curve.node
  COPY Release/curve.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n2/build'

> ed25519@0.0.4 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519/build'
  CC(target) Release/obj.target/ed25519/src/ed25519/keypair.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sign.o
  CC(target) Release/obj.target/ed25519/src/ed25519/open.o
  CC(target) Release/obj.target/ed25519/src/ed25519/crypto_verify_32.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_double_scalarmult.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_scalarmult_base.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_precomp_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_cached.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_madd.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_msub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p3.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_1.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_cmov.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_copy.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_neg.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_mul.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_invert.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
  CXX(target) Release/obj.target/ed25519/src/ed25519.o
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE MakeKeypair(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:19:98: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 1) || (!Buffer::HasInstance(info[0])) || (Buffer::Length(info[0]->ToObject()) != 32)) {
                                                                                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:22:77: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  const unsigned char* seed = (unsigned char*)Buffer::Data(info[0]->ToObject());
                                                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Sign(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:53:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 2) || (!Buffer::HasInstance(info[0]->ToObject()))) {
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:56:74: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 32)) {
                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:57:72: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* seed = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                                        ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:65:81: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  } else if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 64)) {
                                                                                 ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:66:63: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   privateKey = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:53: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:119: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                                                                                       ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:76:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Verify(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:101:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 3) || (!Buffer::HasInstance(info[0]->ToObject())) ||
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                           ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:90: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:105:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:106:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> signature = info[1]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:107:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> publicKey = info[2]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/ed25519.node
  COPY Release/ed25519.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519/build'

> homebridge-ranger@0.3.2 install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger
> node install_dependencies.js

npm ERR! code ENOGIT
npm ERR! Error while executing:
npm ERR! undefined ls-remote -h -t ssh://git@github.com/grover/noble.git
npm ERR! 
npm ERR! undefined
npm ERR! No git binary found in $PATH
npm ERR! 
npm ERR! Failed using git.
npm ERR! Please check if you have git installed and in your PATH.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-01-02T01_50_54_804Z-debug.log
child_process.js:662
    throw err;
    ^

Error: Command failed: npm install --no-save github:grover/noble#730865a5152d6d767a2d1413c0c27eac4bde3df5 --unsafe-perm
    at checkExecSyncError (child_process.js:622:11)
    at Object.execSync (child_process.js:659:13)
    at Object.<anonymous> (/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/install_dependencies.js:35:17)
    at Module._compile (internal/modules/cjs/loader.js:721:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:774:12)
    at executeUserCode (internal/bootstrap/node.js:342:17)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: xpc-connection@0.1.4 (node_modules/homebridge-ranger/node_modules/xpc-connection):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for xpc-connection@0.1.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bluetooth-hci-socket@0.5.1 (node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bluetooth-hci-socket@0.5.1 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! homebridge-ranger@0.3.2 install: `node install_dependencies.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the homebridge-ranger@0.3.2 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!     /root/.npm/_logs/2019-01-02T01_50_56_072Z-debug.log
pi@raspberrypi:~ $ sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libudev-dev is already the newest version (232-25+deb9u6).
bluetooth is already the newest version (5.43-2+rpt2+deb9u2).
bluez is already the newest version (5.43-2+rpt2+deb9u2).
libbluetooth-dev is already the newest version (5.43-2+rpt2+deb9u2).
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
pi@raspberrypi:~ $ node -v
v11.6.0
pi@raspberrypi:~ $ npm -v
6.5.0-next.0

Do you have idea ?

Best regards, Quentin

CLARENNE-Q commented 5 years ago

This plugin requires some binary libraries to access the low-level support of Bluetooth. Node 10 is not supported yet by those dependencies but it looks like it works on node 8.x. I would suggest to not run node 10 yet as many packages have not been updated. If you really have to run node 10, you could use NVM to run multiple versions at once; I do recommend to run Homebridge on node 8.

Source: https://github.com/paolotremadio/homebridge-automation-bluetooth-presence/issues/2

palasinio commented 5 years ago

In the docs node 9.3.0 is used.

hansvangent commented 5 years ago

I had the same problem, what @palasinio says is one thing, but the other thing it is complaining about not having git on your system.

Do a "sudo apt-get install git" and when that is installed try it again.

grover commented 5 years ago

I removed the dependency to my custom noble version with release 0.3.4 - this should now be fixed.

palasinio commented 5 years ago

Keep in mind, that noble seems to be not maintained atm. This could fix the node 10/11 issues: https://github.com/abandonware/noble

grover commented 5 years ago

I'm not using the official node version, but rather pull request 840 in noble. It seems to fix both the Node 10/11 problems as well as the MacOS 10.14 Mojave changes. Seems to work for me right now.

hansvangent commented 5 years ago

Does it make sense to move to that particular pull request in general? I've just updated to 0.3.4 and both my Eve Thermo (v1) and Eve Energy are now working.

Strange thing though is that when I connected straight to the Eve Thermo before from the phone it gave me other menu options on the device. Like having a graph of the temperature over time. That option is now not available anymore in the Eve app.

Any idea what could have caused this?

grover commented 5 years ago

I did move to that pull request in general. I do hope that noble will get another update.

The graphs should appear, I'll recheck later with a brand new Eve Thermo v2 - I've got ranger running with an Eve Door, Eve Button and Eve Thermo v1 (my very first one) for quite some time now. I do get graphs on both Door and Thermo there. However it did take a while (app or phone restart?) for them to appear at one point when I started with ranger.

grover commented 5 years ago

Just checked with a Thermo v2 - graphs show up for me.

hansvangent commented 5 years ago

Yeah was just about to report back in that indeed after killing the app, everything started to show normally.

Thanks for double checking as well and thanks for the great work on the ranger plugin! At one point Eve was going to bring something on the market like this themselves but the never did, glad you created it!

grover commented 5 years ago

Our benevolent fruit company unfortunately appears to have pulled the plug on range extenders. I guess there were too many issues there ;)

Good that it works for you.

palasinio commented 5 years ago

I've just updated to 0.3.4 and both my Eve Thermo (v1) and Eve Energy are now working.

@jcvangent Hey man, I‘m glad to hear this :)! @grover Big THX for spending some more time here 👍 . What do you mean with „pulled the plug“? Will Ranger not wor anymore in near future? I‘ll report after updating to 0.34 and node 10 or 11 (but this won‘t be tomorrow;)).

hansvangent commented 5 years ago

@palasinio yups really happy about it :-) and @grover if you can build this than a big company like Eve should surely be able to create something too right?

grover commented 5 years ago

Ranger will work. What I was referring to was the original concept of range extenders. There were a few announcements from at least two vendors. I believe they got canned for a few reasons:

  1. The bluetooth protocol isn‘t easy and some devices/firmware versions got creative. It‘s surprisingly difficult to get it to work reliably (as you noticed ;)) Apple is certifying the devices and knows of these issues.
  2. The price points would likely have competed with the lower end Apple TV. I would not expect such a device to be cheaper than the base model - who would buy it? The solution is easy: Buy AppleTVs and HomePods and spread them throughout the home.
  3. Additionally I believe they are hoping that bluetooth 5 and it‘s mesh topology will solve it. As such there would only be a short term benefit to this. I don‘t think it will for battery powered devices.

My take is that Apple isn’t certifying them, which is the reason that they never made it to the market.

And Eve got split out of Elgato - whatever that may mean.

@all could someone please clarify if installation works on a fresh raspberry pi?

grover commented 5 years ago

Works as confirmed in #9 and #16. Closing.

Sent with GitHawk