node-pre-gyp install Failure

Hello

 DietPi v6.22.3 
 Device model : RPi B (armv6l)

I’m trying to install Node-RED but I have an error when it does

> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v2.0.1/bcrypt_lib-v2.0.1-node-v67-linux-arm-glibc.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@2.0.1 and node@11.12.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp)
make: Entering directory '/usr/local/lib/node_modules/node-red/node_modules/bcrypt/build'
  CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
In file included from ../../nan/nan_new.h:189:0,
                 from ../../nan/nan.h:203,
                 from ../src/bcrypt_node.cc:1:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:337:37: warning: ‘static v8::Local<v8::Value> v8::StringObject::New(v8::Local<v8::String>)’ is deprecated: Use Isolate* version [-Wdeprecated-declarations]
   return v8::StringObject::New(value).As<v8::StringObject>();
                                     ^
In file included from /root/.node-gyp/11.12.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.12.0/include/node/node.h:63,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:5242:37: note: declared here
                 static Local<Value> New(Local<String> value));
                                     ^
/root/.node-gyp/11.12.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/bcrypt_node.cc:1:0:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:1034:53: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       v8::Local<v8::String> string = from->ToString();
                                                     ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
In file included from ../src/bcrypt_node.cc:1:0:
../../nan/nan.h:1044:74: warning: ‘int v8::String::WriteUtf8(char*, int, int*, int) const’ is deprecated: Use Isolate* version [-Wdeprecated-declarations]
   length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                    ^
In file included from /root/.node-gyp/11.12.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.12.0/include/node/node.h:63,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:2754:21: note: declared here
                 int WriteUtf8(char* buffer, int length = -1,
                     ^
/root/.node-gyp/11.12.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/bcrypt_node.cc: In function ‘char {anonymous}::ToCharVersion(v8::Local<v8::String>)’:
../src/bcrypt_node.cc:66:30: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
   String::Utf8Value value(str);
                              ^
In file included from /root/.node-gyp/11.12.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.12.0/include/node/node.h:63,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:2992:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/root/.node-gyp/11.12.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::GenerateSalt(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:121:60: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     const char minor_ver = ToCharVersion(info[0]->ToString());
                                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::GenerateSaltSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:150:60: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     const char minor_ver = ToCharVersion(info[0]->ToString());
                                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::Encrypt(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:212:44: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String data(info[0]->ToString());
                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc:213:44: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String salt(info[1]->ToString());
                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::EncryptSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:231:44: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String data(info[0]->ToString());
                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc:232:44: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String salt(info[1]->ToString());
                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::Compare(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:312:45: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String input(info[0]->ToString());
                                             ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc:313:49: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String encrypted(info[1]->ToString());
                                                 ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::CompareSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:331:42: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String pw(info[0]->ToString());
                                          ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc:332:44: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String hash(info[1]->ToString());
                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
../src/bcrypt_node.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::GetRounds(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bcrypt_node.cc:352:44: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Nan::Utf8String hash(info[0]->ToString());
                                            ^
In file included from /root/.node-gyp/11.12.0/include/node/node.h:63: ,
                 from ../../nan/nan.h:51,
                 from ../src/bcrypt_node.cc:1:
/root/.node-gyp/11.12.0/include/node/v8.h:10251:15: note: declared here
 Local<String> Value::ToString() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/bcrypt_lib.node
  COPY Release/bcrypt_lib.node
  COPY /usr/local/lib/node_modules/node-red/node_modules/bcrypt/lib/binding/bcrypt_lib.node
  TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/usr/local/lib/node_modules/node-red/node_modules/bcrypt/build'
+ node-red@0.20.3

if I run Node-RED everything goes well but why an error ??

thank you

There is no real “error”.

There are no pre-compiled ARM binaries for bcrypt thus node compiles it from source which is fine or expected. Don’t ask me why the show “ERR!” there, which is simply not correct as Node deals well and expected with this.

Then there are many warnings about deprecated functions which is very common on Node compilations (sadly) and in this case might be especially due to Node 8 (LTS) is used instead of Node 11.

So if Node-RED finally works then this indicates that indeed as well the required compilation succeeded even that it has thrown all this suspicious output :wink:.

thank you