-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
Cannot build on the latest node release. Seems to be related to some methods that were deprecated in the v8 api that the newer node uses.
seems related to (among other breakages):
std::string audio_file = *v8::String::Utf8Value(info[0]->ToString());
which uses the ‘v8::Value::ToString()’ method which is deprecated and there is a newer method that takes a context argument? I took a quick look for a bit but am too unfamiliar with the v8 api. It also seem that the v8 api documentation is missing for node 11.x and 12.x so it is a bit tricky to track down the docs.
Build errors:
<command-line>: note: this is the location of the previous definition
../src/taglib2.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE writeTagsSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/taglib2.cc:82:69: error: no matching function for call to ‘v8::Value::ToString()’
std::string audio_file = *v8::String::Utf8Value(info[0]->ToString());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2528:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2528:44: note: candidate expects 1 argument, 0 provided
In file included from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8-internal.h:14,
from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:25,
from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2544:35: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
Local<String> ToString(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2544:35: note: candidate expects 1 argument, 0 provided
Local<String> ToString(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
../src/taglib2.cc: In lambda function:
../src/taglib2.cc:104:50: error: no matching function for call to ‘v8::Object::Has(v8::Local<v8::String>)’
return o->Has(Nan::New(name).ToLocalChecked());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:3449:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, v8::Local<v8::Value>)’
V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context,
^~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:3449:37: note: candidate expects 2 arguments, 1 provided
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:3455:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, uint32_t)’
V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context, uint32_t index);
^~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:3455:37: note: candidate expects 2 arguments, 1 provided
../src/taglib2.cc: In lambda function:
../src/taglib2.cc:112:45: error: no matching function for call to ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>&)’
std::string s = *v8::String::Utf8Value(r);
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2995:5: note: candidate: ‘v8::String::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)’
Utf8Value(Isolate* isolate, Local<v8::Value> obj);
^~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2995:5: note: candidate expects 2 arguments, 1 provided
../src/taglib2.cc: In lambda function:
../src/taglib2.cc:120:64: error: no matching function for call to ‘v8::Value::Int32Value()’
return o->Get(Nan::New(name).ToLocalChecked())->Int32Value();
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/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;
^~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided
../src/taglib2.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE writeTagsSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/taglib2.cc:221:77: error: no matching function for call to ‘v8::Value::ToObject()’
if (!picture.IsEmpty() && node::Buffer::HasInstance(picture->ToObject())) {
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2532:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2532:44: note: candidate expects 1 argument, 0 provided
In file included from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8-internal.h:14,
from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:25,
from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2546:35: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
Local<Object> ToObject(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2546:35: note: candidate expects 1 argument, 0 provided
Local<Object> ToObject(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
../src/taglib2.cc:223:61: error: no matching function for call to ‘v8::Value::ToObject()’
char* buffer = node::Buffer::Data(picture->ToObject());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2532:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2532:44: note: candidate expects 1 argument, 0 provided
In file included from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8-internal.h:14,
from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:25,
from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2546:35: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
Local<Object> ToObject(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2546:35: note: candidate expects 1 argument, 0 provided
Local<Object> ToObject(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
../src/taglib2.cc:224:68: error: no matching function for call to ‘v8::Value::ToObject()’
const size_t blen = node::Buffer::Length(picture->ToObject());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2532:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2532:44: note: candidate expects 1 argument, 0 provided
In file included from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8-internal.h:14,
from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:25,
from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2546:35: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
Local<Object> ToObject(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2546:35: note: candidate expects 1 argument, 0 provided
Local<Object> ToObject(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
../src/taglib2.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE readTagsSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/taglib2.cc:250:69: error: no matching function for call to ‘v8::Value::ToString()’
std::string audio_file = *v8::String::Utf8Value(info[0]->ToString());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2528:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2528:44: note: candidate expects 1 argument, 0 provided
In file included from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8-internal.h:14,
from /home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:25,
from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2544:35: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
Local<String> ToString(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:2544:35: note: candidate expects 1 argument, 0 provided
Local<String> ToString(Isolate* isolate) const);
^~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8config.h:329:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
#define V8_DEPRECATE_SOON(message, declarator) declarator
^~~~~~~~~~
../src/taglib2.cc: In function ‘void Init(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’:
../src/taglib2.cc:507:64: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Nan::New<v8::FunctionTemplate>(writeTagsSync)->GetFunction());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/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(
^~~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:5947:46: note: candidate expects 1 argument, 0 provided
../src/taglib2.cc:510:63: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Nan::New<v8::FunctionTemplate>(readTagsSync)->GetFunction());
^
In file included from ../src/taglib2.cc:4:
/home/usr1/.cmake-js/node-x64/v12.3.1/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(
^~~~~~~~~~~
/home/usr1/.cmake-js/node-x64/v12.3.1/include/node/v8.h:5947:46: note: candidate expects 1 argument, 0 provided
ninja: build stopped: subcommand failed.
ERR! OMG Process terminated: 1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Metadata
Metadata
Assignees
Labels
No labels