Hello. I was receiving lots of errors when installing node-opus.
They all seemed to point to wrong amount of arguments to v8::Value::Int32Value.
It might be related to the change https://github.com/nodejs/node/commit/b1e5491ae9
I was running Docker with node:latest (version 12). The solution for me was to change repository to node:11 instead. Now I only get deprecated warnings. It seems that Node 12 isn't compatible with the compiling. I might be wrong...
This happened:
> node-opus@0.3.1 install /opt/nodejs/node_modules/node-opus
> node-gyp rebuild
make: Entering directory '/opt/nodejs/node_modules/node-opus/build'
CC(target) Release/obj.target/libopus/deps/opus/src/opus.o
CC(target) Release/obj.target/libopus/deps/opus/src/opus_decoder.o
CC(target) Release/obj.target/libopus/deps/opus/src/opus_encoder.o
CC(target) Release/obj.target/libopus/deps/opus/src/opus_multistream.o
CC(target) Release/obj.target/libopus/deps/opus/src/opus_multistream_encoder.o
CC(target) Release/obj.target/libopus/deps/opus/src/opus_multistream_decoder.o
CC(target) Release/obj.target/libopus/deps/opus/src/repacketizer.o
CC(target) Release/obj.target/libopus/deps/opus/src/analysis.o
CC(target) Release/obj.target/libopus/deps/opus/src/mlp.o
CC(target) Release/obj.target/libopus/deps/opus/src/mlp_data.o
CC(target) Release/obj.target/libopus/deps/opus/celt/bands.o
CC(target) Release/obj.target/libopus/deps/opus/celt/celt.o
CC(target) Release/obj.target/libopus/deps/opus/celt/celt_encoder.o
CC(target) Release/obj.target/libopus/deps/opus/celt/celt_decoder.o
CC(target) Release/obj.target/libopus/deps/opus/celt/cwrs.o
CC(target) Release/obj.target/libopus/deps/opus/celt/entcode.o
CC(target) Release/obj.target/libopus/deps/opus/celt/entdec.o
CC(target) Release/obj.target/libopus/deps/opus/celt/entenc.o
CC(target) Release/obj.target/libopus/deps/opus/celt/kiss_fft.o
CC(target) Release/obj.target/libopus/deps/opus/celt/laplace.o
CC(target) Release/obj.target/libopus/deps/opus/celt/mathops.o
CC(target) Release/obj.target/libopus/deps/opus/celt/mdct.o
CC(target) Release/obj.target/libopus/deps/opus/celt/modes.o
CC(target) Release/obj.target/libopus/deps/opus/celt/pitch.o
CC(target) Release/obj.target/libopus/deps/opus/celt/celt_lpc.o
CC(target) Release/obj.target/libopus/deps/opus/celt/quant_bands.o
CC(target) Release/obj.target/libopus/deps/opus/celt/rate.o
CC(target) Release/obj.target/libopus/deps/opus/celt/vq.o
CC(target) Release/obj.target/libopus/deps/opus/silk/CNG.o
CC(target) Release/obj.target/libopus/deps/opus/silk/code_signs.o
CC(target) Release/obj.target/libopus/deps/opus/silk/init_decoder.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decode_core.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decode_frame.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decode_parameters.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decode_indices.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decode_pulses.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decoder_set_fs.o
CC(target) Release/obj.target/libopus/deps/opus/silk/dec_API.o
CC(target) Release/obj.target/libopus/deps/opus/silk/enc_API.o
CC(target) Release/obj.target/libopus/deps/opus/silk/encode_indices.o
CC(target) Release/obj.target/libopus/deps/opus/silk/encode_pulses.o
CC(target) Release/obj.target/libopus/deps/opus/silk/gain_quant.o
CC(target) Release/obj.target/libopus/deps/opus/silk/interpolate.o
CC(target) Release/obj.target/libopus/deps/opus/silk/LP_variable_cutoff.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_decode.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NSQ.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NSQ_del_dec.o
CC(target) Release/obj.target/libopus/deps/opus/silk/PLC.o
CC(target) Release/obj.target/libopus/deps/opus/silk/shell_coder.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_gain.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_LTP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_NLSF_CB_NB_MB.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_NLSF_CB_WB.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_other.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_pitch_lag.o
CC(target) Release/obj.target/libopus/deps/opus/silk/tables_pulses_per_block.o
CC(target) Release/obj.target/libopus/deps/opus/silk/VAD.o
CC(target) Release/obj.target/libopus/deps/opus/silk/control_audio_bandwidth.o
CC(target) Release/obj.target/libopus/deps/opus/silk/quant_LTP_gains.o
CC(target) Release/obj.target/libopus/deps/opus/silk/VQ_WMat_EC.o
CC(target) Release/obj.target/libopus/deps/opus/silk/HP_variable_cutoff.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_encode.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_VQ.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_unpack.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_del_dec_quant.o
CC(target) Release/obj.target/libopus/deps/opus/silk/process_NLSFs.o
CC(target) Release/obj.target/libopus/deps/opus/silk/stereo_LR_to_MS.o
CC(target) Release/obj.target/libopus/deps/opus/silk/stereo_MS_to_LR.o
CC(target) Release/obj.target/libopus/deps/opus/silk/check_control_input.o
CC(target) Release/obj.target/libopus/deps/opus/silk/control_SNR.o
CC(target) Release/obj.target/libopus/deps/opus/silk/init_encoder.o
CC(target) Release/obj.target/libopus/deps/opus/silk/control_codec.o
CC(target) Release/obj.target/libopus/deps/opus/silk/A2NLSF.o
CC(target) Release/obj.target/libopus/deps/opus/silk/ana_filt_bank_1.o
CC(target) Release/obj.target/libopus/deps/opus/silk/biquad_alt.o
CC(target) Release/obj.target/libopus/deps/opus/silk/bwexpander_32.o
CC(target) Release/obj.target/libopus/deps/opus/silk/bwexpander.o
CC(target) Release/obj.target/libopus/deps/opus/silk/debug.o
CC(target) Release/obj.target/libopus/deps/opus/silk/decode_pitch.o
CC(target) Release/obj.target/libopus/deps/opus/silk/inner_prod_aligned.o
CC(target) Release/obj.target/libopus/deps/opus/silk/lin2log.o
CC(target) Release/obj.target/libopus/deps/opus/silk/log2lin.o
CC(target) Release/obj.target/libopus/deps/opus/silk/LPC_analysis_filter.o
CC(target) Release/obj.target/libopus/deps/opus/silk/LPC_inv_pred_gain.o
CC(target) Release/obj.target/libopus/deps/opus/silk/table_LSF_cos.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF2A.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_stabilize.o
CC(target) Release/obj.target/libopus/deps/opus/silk/NLSF_VQ_weights_laroia.o
CC(target) Release/obj.target/libopus/deps/opus/silk/pitch_est_tables.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_down2_3.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_down2.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_private_AR2.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_private_down_FIR.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_private_IIR_FIR.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_private_up2_HQ.o
CC(target) Release/obj.target/libopus/deps/opus/silk/resampler_rom.o
CC(target) Release/obj.target/libopus/deps/opus/silk/sigm_Q15.o
CC(target) Release/obj.target/libopus/deps/opus/silk/sort.o
CC(target) Release/obj.target/libopus/deps/opus/silk/sum_sqr_shift.o
CC(target) Release/obj.target/libopus/deps/opus/silk/stereo_decode_pred.o
CC(target) Release/obj.target/libopus/deps/opus/silk/stereo_encode_pred.o
CC(target) Release/obj.target/libopus/deps/opus/silk/stereo_find_predictor.o
CC(target) Release/obj.target/libopus/deps/opus/silk/stereo_quant_pred.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/apply_sine_window_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/corrMatrix_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/encode_frame_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/find_LPC_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/find_LTP_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/find_pitch_lags_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/find_pred_coefs_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/LPC_analysis_filter_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/LTP_analysis_filter_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/LTP_scale_ctrl_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/noise_shape_analysis_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/prefilter_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/process_gains_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/regularize_correlations_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/residual_energy_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/solve_LS_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/warped_autocorrelation_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/wrappers_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/autocorrelation_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/burg_modified_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/bwexpander_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/energy_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/inner_product_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/k2a_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/levinsondurbin_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/LPC_inv_pred_gain_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/pitch_analysis_core_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/scale_copy_vector_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/scale_vector_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/schur_FLP.o
CC(target) Release/obj.target/libopus/deps/opus/silk/float/sort_FLP.o
AR(target) Release/obj.target/deps/opus.a
COPY Release/opus.a
CXX(target) Release/obj.target/node-opus/src/node-opus.o
In file included from ../src/node-opus.cc:7:0:
../src/node-opus.cc: In static member function 'static void OpusEncoder::Encode(const Nan::FunctionCallbackInfo<v8::Value>&)':
../src/common.h:44:54: error: no matching function for call to 'v8::Value::Int32Value()'
CHECK_ARG( I, IsNumber(), VAR = info[I]->Int32Value(), VAR = DEFAULT )
^
../src/common.h:29:70: note: in definition of macro 'CHECK_ARG'
if ( info.Length() <= (I) || !info[I]->CHECK ) { DO_FALSE; } else { DO_TRUE; }
^~~~~~~
../src/node-opus.cc:100:4: note: in expansion of macro 'OPT_INT_ARG'
OPT_INT_ARG( 1, maxPacketSize, MAX_PACKET_SIZE );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/node-opus.cc: In static member function 'static void OpusEncoder::ApplyEncoderCTL(const Nan::FunctionCallbackInfo<v8::Value>&)':
../src/common.h:40:32: error: no matching function for call to 'v8::Value::Int32Value()'
int VAR = info[I]->Int32Value()
^
../src/node-opus.cc:151:4: note: in expansion of macro 'REQ_INT_ARG'
REQ_INT_ARG( 0, ctl );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/common.h:40:32: error: no matching function for call to 'v8::Value::Int32Value()'
int VAR = info[I]->Int32Value()
^
../src/node-opus.cc:152:4: note: in expansion of macro 'REQ_INT_ARG'
REQ_INT_ARG( 1, value );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/node-opus.cc: In static member function 'static void OpusEncoder::ApplyDecoderCTL(const Nan::FunctionCallbackInfo<v8::Value>&)':
../src/common.h:40:32: error: no matching function for call to 'v8::Value::Int32Value()'
int VAR = info[I]->Int32Value()
^
../src/node-opus.cc:166:4: note: in expansion of macro 'REQ_INT_ARG'
REQ_INT_ARG( 0, ctl );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/common.h:40:32: error: no matching function for call to 'v8::Value::Int32Value()'
int VAR = info[I]->Int32Value()
^
../src/node-opus.cc:167:4: note: in expansion of macro 'REQ_INT_ARG'
REQ_INT_ARG( 1, value );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/node-opus.cc: In static member function 'static void OpusEncoder::SetBitrate(const Nan::FunctionCallbackInfo<v8::Value>&)':
../src/common.h:40:32: error: no matching function for call to 'v8::Value::Int32Value()'
int VAR = info[I]->Int32Value()
^
../src/node-opus.cc:181:4: note: in expansion of macro 'REQ_INT_ARG'
REQ_INT_ARG( 0, bitrate );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/node-opus.cc: In static member function 'static void OpusEncoder::New(const Nan::FunctionCallbackInfo<v8::Value>&)':
../src/common.h:44:54: error: no matching function for call to 'v8::Value::Int32Value()'
CHECK_ARG( I, IsNumber(), VAR = info[I]->Int32Value(), VAR = DEFAULT )
^
../src/common.h:29:70: note: in definition of macro 'CHECK_ARG'
if ( info.Length() <= (I) || !info[I]->CHECK ) { DO_FALSE; } else { DO_TRUE; }
^~~~~~~
../src/node-opus.cc:213:4: note: in expansion of macro 'OPT_INT_ARG'
OPT_INT_ARG( 0, rate, 48000 );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/common.h:44:54: error: no matching function for call to 'v8::Value::Int32Value()'
CHECK_ARG( I, IsNumber(), VAR = info[I]->Int32Value(), VAR = DEFAULT )
^
../src/common.h:29:70: note: in definition of macro 'CHECK_ARG'
if ( info.Length() <= (I) || !info[I]->CHECK ) { DO_FALSE; } else { DO_TRUE; }
^~~~~~~
../src/node-opus.cc:214:4: note: in expansion of macro 'OPT_INT_ARG'
OPT_INT_ARG( 1, channels, 1 );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/node-opus.cc:7:0:
../src/common.h:44:54: error: no matching function for call to 'v8::Value::Int32Value()'
CHECK_ARG( I, IsNumber(), VAR = info[I]->Int32Value(), VAR = DEFAULT )
^
../src/common.h:29:70: note: in definition of macro 'CHECK_ARG'
if ( info.Length() <= (I) || !info[I]->CHECK ) { DO_FALSE; } else { DO_TRUE; }
^~~~~~~
../src/node-opus.cc:215:4: note: in expansion of macro 'OPT_INT_ARG'
OPT_INT_ARG( 2, application, OPUS_APPLICATION_AUDIO );
^~~~~~~~~~~
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
../src/node-opus.cc: In static member function 'static void OpusEncoder::Init(v8::Local<v8::Object>)':
../src/node-opus.cc:239:77: error: no matching function for call to 'v8::FunctionTemplate::GetFunction()'
exports->Set( Nan::New("OpusEncoder").ToLocalChecked(), tpl->GetFunction() );
^
In file included from ../src/node-opus.cc:2:0:
/root/.node-gyp/12.1.0/include/node/v8.h:5947:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
^~~~~~~~~~~
/root/.node-gyp/12.1.0/include/node/v8.h:5947:46: note: candidate expects 1 argument, 0 provided
make: *** [Release/obj.target/node-opus/src/node-opus.o] Error 1
node-opus.target.mk:156: recipe for target 'Release/obj.target/node-opus/src/node-opus.o' failed
make: Leaving directory '/opt/nodejs/node_modules/node-opus/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:196:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
gyp ERR! System Linux 4.9.125-linuxkit
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/nodejs/node_modules/node-opus
gyp ERR! node -v v12.1.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-opus@0.3.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-opus@0.3.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Hello. I was receiving lots of errors when installing node-opus. They all seemed to point to wrong amount of arguments to
v8::Value::Int32Value
. It might be related to the change https://github.com/nodejs/node/commit/b1e5491ae9I was running Docker with
node:latest
(version 12). The solution for me was to change repository tonode:11
instead. Now I only get deprecated warnings. It seems that Node 12 isn't compatible with the compiling. I might be wrong...This happened: