I'm not able to install the node. If I try with npm install node-red-contrib-espeak it fails with an E404. If I try from git, it fails with a ELIFECYCLE
pi@skull:~/.node-red $ npm install node-red-contrib-espeak
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/node-red-contrib-espeak - Not found
npm ERR! 404
npm ERR! 404 'node-red-contrib-espeak@latest' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-10-11T10_12_58_301Z-debug.log
pi@skull:~/.node-red $
pi@skull:~/.node-red $ npm install phssakaigawa/node-red-contrib-espeak
> [email protected] preinstall /home/pi/.node-red/node_modules/node-espeak
> rm -Rf deps/espeak; git clone --branch 1.48.15 https://github.com/rhdunn/espeak.git deps/espeak
Cloning into 'deps/espeak'...
remote: Enumerating objects: 40961, done.
remote: Total 40961 (delta 0), reused 0 (delta 0), pack-reused 40961
Receiving objects: 100% (40961/40961), 48.69 MiB | 4.25 MiB/s, done.
Resolving deltas: 100% (28264/28264), done.
Note: checking out 'c48bb4cd34874a08ee3e6bda13759c6335ad665f'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
> [email protected] install /home/pi/.node-red/node_modules/node-espeak
> node-gyp rebuild
make: Entering directory '/home/pi/.node-red/node_modules/node-espeak/build'
CXX(target) Release/obj.target/espeak/deps/espeak/src/fifo.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/speak.o
../deps/espeak/src/speak.cpp: In function ‘void DisplayVoices(FILE*, char*)’:
../deps/espeak/src/speak.cpp:213:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(j=0; j < sizeof(buf); j++)
~~^~~~~~~~~
../deps/espeak/src/speak.cpp: In function ‘int main(int, char**)’:
../deps/espeak/src/speak.cpp:776:4: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
else
^~~~
../deps/espeak/src/speak.cpp:778:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
if(phonemes_separator == 'z')
^~
../deps/espeak/src/speak.cpp:786:4: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
else
^~~~
../deps/espeak/src/speak.cpp:788:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
if(phonemes_separator == 'z')
^~
CXX(target) Release/obj.target/espeak/deps/espeak/src/synth_mbrola.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/compiledict.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/espeak.o
../deps/espeak/src/espeak.cpp: In function ‘void DisplayVoices(FILE*, char*)’:
../deps/espeak/src/espeak.cpp:212:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(j=0; j < sizeof(buf); j++)
~~^~~~~~~~~
../deps/espeak/src/espeak.cpp: In function ‘int main(int, char**)’:
../deps/espeak/src/espeak.cpp:691:4: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
else
^~~~
../deps/espeak/src/espeak.cpp:693:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
if(phonemes_separator == 'z')
^~
../deps/espeak/src/espeak.cpp:701:4: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
else
^~~~
../deps/espeak/src/espeak.cpp:703:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
if(phonemes_separator == 'z')
^~
CXX(target) Release/obj.target/espeak/deps/espeak/src/mbrowrap.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/readclause.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/speak_lib.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/translate.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/wave_pulse.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/debug.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/phonemelist.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/setlengths.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/voices.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/wave_sada.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/event.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/intonation.o
../deps/espeak/src/intonation.cpp: In function ‘void CalcPitches(Translator*, int)’:
../deps/espeak/src/intonation.cpp:1118:7: warning: variable ‘group_tone_emph’ set but not used [-Wunused-but-set-variable]
int group_tone_emph;
^~~~~~~~~~~~~~~
CXX(target) Release/obj.target/espeak/deps/espeak/src/synthdata.o
../deps/espeak/src/synthdata.cpp: In function ‘int LoadPhData(int*)’:
../deps/espeak/src/synthdata.cpp:169:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if(srate != NULL)
^~
../deps/espeak/src/synthdata.cpp:171:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
return(result);
^~~~~~
CXX(target) Release/obj.target/espeak/deps/espeak/src/dictionary.o
../deps/espeak/src/dictionary.cpp: In function ‘void SetWordStress(Translator*, char*, unsigned int*, int, int)’:
../deps/espeak/src/dictionary.cpp:1219:6: warning: variable ‘post_tonic’ set but not used [-Wunused-but-set-variable]
int post_tonic; // currently not used
^~~~~~~~~~
CXX(target) Release/obj.target/espeak/deps/espeak/src/klatt.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/numbers.o
../deps/espeak/src/numbers.cpp: In function ‘int LookupThousands(Translator*, int, int, int, char*)’:
../deps/espeak/src/numbers.cpp:1359:7: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’ [-Wparentheses]
if(!found_value & (number_control & 1))
^~~~~~~~~~~~
CXX(target) Release/obj.target/espeak/deps/espeak/src/sonic.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/synthesize.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/tr_languages.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/wave.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/espeak_command.o
CXX(target) Release/obj.target/espeak/deps/espeak/src/wavegen.o
../deps/espeak/src/wavegen.cpp: In function ‘int WavegenFill(int)’:
../deps/espeak/src/wavegen.cpp:2052:17: warning: variable ‘p_start’ set but not used [-Wunused-but-set-variable]
unsigned char *p_start;
^~~~~~~
AR(target) Release/obj.target/deps/espeak.a
COPY Release/espeak.a
CXX(target) Release/obj.target/node-espeak/src/node-espeak.o
../src/node-espeak.cc:22:25: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
static char *language = "en\0";
^~~~~~
../src/node-espeak.cc: In function ‘int SynthCallback(short int*, int, espeak_EVENT*)’:
../src/node-espeak.cc:39:29: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
callback->Call(argc, argv);
^
In file included from ../src/node-espeak.cc:1:0:
../../nan/nan.h:1742:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/node-espeak.cc: In function ‘void GetVoice(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:57:82: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
j->Set(Nan::New("gender").ToLocalChecked(), Nan::New("none").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:60:82: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
j->Set(Nan::New("gender").ToLocalChecked(), Nan::New("male").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:63:84: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
>Set(Nan::New("gender").ToLocalChecked(), Nan::New("female").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:65:66: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
obj->Set(Nan::New("variant").ToLocalChecked(), Nan::New(variant));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:66:58: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
obj->Set(Nan::New("age").ToLocalChecked(), Nan::New(age));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:67:98: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
language").ToLocalChecked(), Nan::New(std::string(language)).ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc: In function ‘void GetProperties(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:73:92: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
:New("pitch").ToLocalChecked(), Nan::New(espeak_GetParameter(espeakPITCH, 1)));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:74:90: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
n::New("rate").ToLocalChecked(), Nan::New(espeak_GetParameter(espeakRATE, 1)));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:75:94: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
ew("volume").ToLocalChecked(), Nan::New(espeak_GetParameter(espeakVOLUME, 1)));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:76:92: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
:New("gap").ToLocalChecked(), Nan::New(espeak_GetParameter(espeakWORDGAP, 1)));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc:77:92: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
:New("range").ToLocalChecked(), Nan::New(espeak_GetParameter(espeakRANGE, 1)));
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/v8-internal.h:14:0,
from /home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/home/pi/.cache/node-gyp/12.19.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/node-espeak.cc: In function ‘void SetGender(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:82:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetAge(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:88:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetVariant(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:94:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetRate(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:100:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetVolume(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:110:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetPitch(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:120:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetRange(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:130:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: In function ‘void SetGap(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/node-espeak.cc:140:36: error: no matching function for call to ‘v8::Value::NumberValue()’
double num = info[0]->NumberValue();
^
In file included from /home/pi/.cache/node-gyp/12.19.0/include/node/node.h:67:0,
from ../../nan/nan.h:56,
from ../src/node-espeak.cc:1:
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.19.0/include/node/v8.h:2704:39: note: candidate expects 1 argument, 0 provided
../src/node-espeak.cc: At global scope:
../src/node-espeak.cc:191:24: error: variable or field ‘InitESpeak’ declared void
static void InitESpeak(Handle<Object> exports) {
^~~~~~
../src/node-espeak.cc:191:24: error: ‘Handle’ was not declared in this scope
../src/node-espeak.cc:191:37: error: expected primary-expression before ‘>’ token
static void InitESpeak(Handle<Object> exports) {
^
../src/node-espeak.cc:191:39: error: ‘exports’ was not declared in this scope
static void InitESpeak(Handle<Object> exports) {
^~~~~~~
In file included from ../../nan/nan.h:56:0,
from ../src/node-espeak.cc:1:
../src/node-espeak.cc:213:26: error: ‘InitESpeak’ was not declared in this scope
NODE_MODULE(node_espeak, InitESpeak);
^
/home/pi/.cache/node-gyp/12.19.0/include/node/node.h:727:36: note: in definition of macro ‘NODE_MODULE_X’
(node::addon_register_func) (regfunc), \
^~~~~~~
../src/node-espeak.cc:213:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(node_espeak, InitESpeak);
^~~~~~~~~~~
../src/node-espeak.cc:187:13: warning: ‘void Cancel(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void Cancel(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~
../src/node-espeak.cc:182:13: warning: ‘void OnVoice(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void OnVoice(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~
../src/node-espeak.cc:170:13: warning: ‘void Speak(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void Speak(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~
../src/node-espeak.cc:156:13: warning: ‘void Initialize(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void Initialize(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~~~
../src/node-espeak.cc:149:13: warning: ‘void SetLanguage(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetLanguage(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~~~~
../src/node-espeak.cc:139:13: warning: ‘void SetGap(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetGap(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~
../src/node-espeak.cc:129:13: warning: ‘void SetRange(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetRange(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~
../src/node-espeak.cc:119:13: warning: ‘void SetPitch(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetPitch(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~
../src/node-espeak.cc:109:13: warning: ‘void SetVolume(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetVolume(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~~
../src/node-espeak.cc:99:13: warning: ‘void SetRate(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetRate(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~
../src/node-espeak.cc:93:13: warning: ‘void SetVariant(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetVariant(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~~~
../src/node-espeak.cc:87:13: warning: ‘void SetAge(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetAge(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~
../src/node-espeak.cc:81:13: warning: ‘void SetGender(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void SetGender(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~~
../src/node-espeak.cc:71:13: warning: ‘void GetProperties(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void GetProperties(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~~~~~~
../src/node-espeak.cc:54:13: warning: ‘void GetVoice(const Nan::FunctionCallbackInfo<v8::Value>&)’ defined but not used [-Wunused-function]
static void GetVoice(const Nan::FunctionCallbackInfo<v8::Value>& info) {
^~~~~~~~
node-espeak.target.mk:118: recipe for target 'Release/obj.target/node-espeak/src/node-espeak.o' failed
make: *** [Release/obj.target/node-espeak/src/node-espeak.o] Error 1
make: Leaving directory '/home/pi/.node-red/node_modules/node-espeak/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:314:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.9.59-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/.node-red/node_modules/node-espeak
gyp ERR! node -v v12.19.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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! /home/pi/.npm/_logs/2020-10-11T10_20_51_887Z-debug.log
pi@skull:~/.node-red $