I really have no idea what to make of the below. Interpretation appreciated, thanks!
> iconv@2.1.11 install /bvols/@git/repos/xddocgen-poc/node_modules/iconv
> node-gyp rebuild
make: Entering directory '/bvols/@git/repos/xddocgen-poc/node_modules/iconv/build'
CC(target) Release/obj.target/libiconv/deps/libiconv/lib/iconv.o
AR(target) Release/obj.target/iconv.a
COPY Release/iconv.a
CXX(target) Release/obj.target/iconv/src/binding.o
In file included from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h: In static member function ‘static void v8::V8::SetAllowCodeGenerationFromStringsCallback(v8::DeprecatedAllowCodeGenerationFromStringsCallback)’:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:10230:19: warning: cast between incompatible function types from ‘v8::DeprecatedAllowCodeGenerationFromStringsCallback’ {aka ‘bool (*)(v8::Local<v8::Context>)’} to ‘v8::FreshNewAllowCodeGenerationFromStringsCallback’ {aka ‘bool (*)(v8::Local<v8::Context>, v8::Local<v8::String>)’} [-Wcast-function-type]
callback));
^
/home/rop/.node-gyp/8.11.3/include/node/v8.h: In static member function ‘static void v8::V8::RemoveGCPrologueCallback(v8::GCCallback)’:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:10275:53: warning: cast between incompatible function types from ‘v8::GCCallback’ {aka ‘void (*)(v8::GCType, v8::GCCallbackFlags)’} to ‘v8::Isolate::GCCallback’ {aka ‘void (*)(v8::Isolate*, v8::GCType, v8::GCCallbackFlags)’} [-Wcast-function-type]
reinterpret_cast<Isolate::GCCallback>(callback));
^
/home/rop/.node-gyp/8.11.3/include/node/v8.h: In static member function ‘static void v8::V8::RemoveGCEpilogueCallback(v8::GCCallback)’:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:10282:53: warning: cast between incompatible function types from ‘v8::GCCallback’ {aka ‘void (*)(v8::GCType, v8::GCCallbackFlags)’} to ‘v8::Isolate::GCCallback’ {aka ‘void (*)(v8::Isolate*, v8::GCType, v8::GCCallbackFlags)’} [-Wcast-function-type]
reinterpret_cast<Isolate::GCCallback>(callback));
^
In file included from ../../nan/nan.h:182,
from ../src/binding.cc:18:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::CloneElementAt(v8::Local<v8::Array>, uint32_t)’:
../../nan/nan_maybe_43_inl.h:221:58: warning: ‘v8::MaybeLocal<v8::Object> v8::Array::CloneElementAt(v8::Local<v8::Context>, uint32_t)’ is deprecated: Cloning is not supported. [-Wdeprecated-declarations]
return array->CloneElementAt(GetCurrentContext(), index);
^
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:3517:36: note: declared here
MaybeLocal<Object> CloneElementAt(Local<Context> context,
^~~~~~~~~~~~~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
from ../../nan/nan.h:188,
from ../src/binding.cc:18:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::BooleanObject>::return_t Nan::imp::Factory<v8::BooleanObject>::New(bool)’:
../../nan/nan_implementation_12_inl.h:40:38: warning: ‘static v8::Local<v8::Value> v8::BooleanObject::New(bool)’ is deprecated: Pass an isolate [-Wdeprecated-declarations]
return v8::BooleanObject::New(value).As<v8::BooleanObject>();
^
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:4845:56: note: declared here
V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
^~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
from ../../nan/nan.h:188,
from ../src/binding.cc:18:
../../nan/nan_implementation_12_inl.h:40:38: warning: ‘static v8::Local<v8::Value> v8::BooleanObject::New(bool)’ is deprecated: Pass an isolate [-Wdeprecated-declarations]
return v8::BooleanObject::New(value).As<v8::BooleanObject>();
^
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:4845:56: note: declared here
V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
^~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
In file included from ../src/binding.cc:18:
../../nan/nan.h: At global scope:
../../nan/nan.h:590:20: error: variable or field ‘AddGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback
^~~~~~~~~~~~~~~~~~
../../nan/nan.h:590:20: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
../../nan/nan.h:591:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^~~~~~~~~~~~~~
../../nan/nan.h:596:20: error: variable or field ‘RemoveGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback) {
^~~~~~~~~~~~~~~~~~
../../nan/nan.h:596:20: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
../../nan/nan.h:601:20: error: variable or field ‘AddGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback
^~~~~~~~~~~~~~~~~~
../../nan/nan.h:601:20: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
../../nan/nan.h:602:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^~~~~~~~~~~~~~
../../nan/nan.h:607:20: error: variable or field ‘RemoveGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback) {
^~~~~~~~~~~~~~~~~~
../../nan/nan.h:607:20: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:1679:25: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
, (uv_after_work_cb)AsyncExecuteComplete
^~~~~~~~~~~~~~~~~~~~
../../nan/nan.h: In function ‘bool Nan::SetAccessor(v8::Local<v8::Object>, v8::Local<v8::String>, Nan::GetterCallback, Nan::SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’:
../../nan/nan.h:1933:16: warning: ‘bool v8::Object::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, attribute);
^
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:3187:22: note: declared here
bool SetAccessor(Local<Name> name,
^~~~~~~~~~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/binding.cc: In static member function ‘static void {anonymous}::Iconv::Initialize(v8::Handle<v8::Object>)’:
../src/binding.cc:63:51: warning: ‘static v8::Local<v8::ObjectTemplate> v8::ObjectTemplate::New()’ is deprecated: Use isolate version [-Wdeprecated-declarations]
Local<ObjectTemplate> t = ObjectTemplate::New();
^
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:5706:69: note: declared here
static V8_DEPRECATED("Use isolate version", Local<ObjectTemplate> New());
^~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/binding.cc:63:51: warning: ‘static v8::Local<v8::ObjectTemplate> v8::ObjectTemplate::New()’ is deprecated: Use isolate version [-Wdeprecated-declarations]
Local<ObjectTemplate> t = ObjectTemplate::New();
^
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:5706:69: note: declared here
static V8_DEPRECATED("Use isolate version", Local<ObjectTemplate> New());
^~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan.h:24,
from ../src/binding.cc:18:
../src/binding.cc: At global scope:
/home/rop/.node-gyp/8.11.3/include/node/node.h:474:43: warning: cast between incompatible function types from ‘void (*)(v8::Handle<v8::Object>)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/home/rop/.node-gyp/8.11.3/include/node/node.h:505:3: note: in expansion of macro ‘NODE_MODULE_X’
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/binding.cc:137:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(iconv, Iconv::Initialize);
^~~~~~~~~~~
In file included from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/rop/.node-gyp/8.11.3/include/node/node_object_wrap.h:85:78: required from here
/home/rop/.node-gyp/8.11.3/include/node/v8.h:9253:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rop/.node-gyp/8.11.3/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:66:61: required from here
/home/rop/.node-gyp/8.11.3/include/node/v8.h:9253:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
In file included from ../../nan/nan.h:2078,
from ../src/binding.cc:18:
../../nan/nan_weak.h: In instantiation of ‘Nan::WeakCallbackInfo<P>::WeakCallbackInfo(Nan::Persistent<v8::Value>*, Nan::WeakCallbackInfo<P>::Callback, void*, void*, void*) [with T = {anonymous}::Iconv; Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<{anonymous}::Iconv>&)]’:
../../nan/nan_weak.h:254:12: required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = {anonymous}::Iconv; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<{anonymous}::Iconv>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
../src/binding.cc:91:75: required from here
../../nan/nan_weak.h:58:16: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class v8::Persistent<v8::Value>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
std::memcpy(&persistent_, persistent, sizeof (v8::Persistent<v8::Value>));
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:677:35: note: ‘class v8::Persistent<v8::Value>’ declared here
template <class T, class M> class Persistent : public PersistentBase<T> {
^~~~~~~~~~
In file included from ../../nan/nan.h:2078,
from ../src/binding.cc:18:
../../nan/nan_weak.h: In instantiation of ‘static void Nan::WeakCallbackInfo<P>::invokeparameter(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<P> >&) [with T = {anonymous}::Iconv]’:
../../nan/nan_weak.h:258:35: required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = {anonymous}::Iconv; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<{anonymous}::Iconv>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
../src/binding.cc:91:75: required from here
../../nan/nan_weak.h:110:3: warning: ‘bool v8::WeakCallbackInfo<T>::IsFirstPass() const [with T = Nan::WeakCallbackInfo<{anonymous}::Iconv>]’ is deprecated: Not realiable once SetSecondPassCallback() was used. [-Wdeprecated-declarations]
if (data.IsFirstPass()) {
^~
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:441:22: note: declared here
bool IsFirstPass() const) {
^~~~~~~~~~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
In file included from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::WeakCallbackInfo<{anonymous}::Iconv>; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<{anonymous}::Iconv> >&)]’:
../../nan/nan_weak.h:258:35: required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = {anonymous}::Iconv; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<{anonymous}::Iconv>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
../src/binding.cc:91:75: required from here
/home/rop/.node-gyp/8.11.3/include/node/v8.h:9253:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::WeakCallbackInfo<{anonymous}::Iconv> >::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<{anonymous}::Iconv> >&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../nan/nan.h:2078,
from ../src/binding.cc:18:
../../nan/nan_weak.h: In instantiation of ‘static void Nan::WeakCallbackInfo<P>::invoketwofield(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<P> >&) [with T = {anonymous}::Iconv]’:
../../nan/nan_weak.h:277:35: required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = {anonymous}::Iconv; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<{anonymous}::Iconv>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
../src/binding.cc:91:75: required from here
../../nan/nan_weak.h:123:3: warning: ‘bool v8::WeakCallbackInfo<T>::IsFirstPass() const [with T = Nan::WeakCallbackInfo<{anonymous}::Iconv>]’ is deprecated: Not realiable once SetSecondPassCallback() was used. [-Wdeprecated-declarations]
if (data.IsFirstPass()) {
^~
In file included from /home/rop/.node-gyp/8.11.3/include/node/v8.h:26,
from /home/rop/.node-gyp/8.11.3/include/node/node.h:63,
from ../../nan/nan.h:24,
from ../src/binding.cc:18:
/home/rop/.node-gyp/8.11.3/include/node/v8.h:441:22: note: declared here
bool IsFirstPass() const) {
^~~~~~~~~~~
/home/rop/.node-gyp/8.11.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
make: *** [iconv.target.mk:116: Release/obj.target/iconv/src/binding.o] Error 1
make: Leaving directory '/bvols/@git/repos/xddocgen-poc/node_modules/iconv/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/bvols/@node/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.19.6-1-MANJARO
gyp ERR! command "/bvols/@node/.nvm/versions/node/v8.11.3/bin/node" "/bvols/@node/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /bvols/@git/repos/xddocgen-poc/node_modules/iconv
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN xddocgen-poc@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! iconv@2.1.11 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the iconv@2.1.11 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/rop/.npm/_logs/2018-12-05T23_07_35_978Z-debug.log
Basically it means you were trying to compile an old version of node-iconv against a new(er) version of Node.js. node-iconv 2.1.11 is from 2015 and predates Node.js v8.x by 1.5 years.
I really have no idea what to make of the below. Interpretation appreciated, thanks!