Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'make test' fails with errors in header files for node v4.0 #448

Closed
b-admike opened this issue Sep 10, 2015 · 16 comments
Closed

'make test' fails with errors in header files for node v4.0 #448

b-admike opened this issue Sep 10, 2015 · 16 comments

Comments

@b-admike
Copy link

Hi,

I was trying to run the test suite that comes with nan with node v4.0.0 but I get the following when invoking 'make test' (this is done on an xLinux machine):

nodebot@machine01:/svt/nodebot/test-crypt/nan$ make test >> test.log
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | ia32
gyp info spawn python2
gyp info spawn args [ '/svt/nodebot/test-crypt/nan/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/svt/nodebot/test-crypt/nan/test/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/svt/nodebot/test-crypt/nan/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/nodebot/.node-gyp/4.0.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/nodebot/.node-gyp/4.0.0',
gyp info spawn args '-Dnode_gyp_dir=/svt/nodebot/test-crypt/nan/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=node.lib',
gyp info spawn args '-Dmodule_root_dir=/svt/nodebot/test-crypt/nan/test',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
In file included from /home/nodebot/.node-gyp/4.0.0/include/node/node.h:42:0,
from ../../nan.h:24,
from ../cpp/accessors.cpp:9:
/home/nodebot/.node-gyp/4.0.0/include/node/v8.h:336:1: error: expected unqualified-id before ‘using’
/home/nodebot/.node-gyp/4.0.0/include/node/v8.h:469:1: error: expected unqualified-id before ‘using’
/home/nodebot/.node-gyp/4.0.0/include/node/v8.h:852:1: error: expected unqualified-id before ‘using’
In file included from ../../nan.h:182:0,
from ../cpp/accessors.cpp:9:
../../nan_maybe_43_inl.h:13:1: error: expected unqualified-id before ‘using’
../../nan_maybe_43_inl.h:16:1: error: expected unqualified-id before ‘using’
../../nan_maybe_43_inl.h:19:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:24:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:31:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:36:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:41:1: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:46:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:51:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:60:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:65:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:70:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:77:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:84:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:92:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:99:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:109:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:115:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:119:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:126:1: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:131:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:136:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:140:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:146:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:151:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:157:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:163:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:169:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:175:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:181:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:187:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:195:12: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:202:1: error: ‘MaybeLocal’ does not name a type
../../nan_maybe_43_inl.h:206:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:210:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:214:12: error: ‘Maybe’ does not name a type
../../nan_maybe_43_inl.h:218:12: error: ‘MaybeLocal’ does not name a type
In file included from ../../nan.h:187:0,
from ../cpp/accessors.cpp:9:
../../nan_converters.h:14:11: error: ‘MaybeLocal’ does not name a type
../../nan_converters.h:16:56: error: ‘Maybe’ does not name a type
../../nan_converters.h:26:1: error: ‘return_t’ does not name a type
../../nan_converters.h:27:1: error: ‘return_t’ does not name a type
../../nan_converters.h:28:1: error: ‘return_t’ does not name a type
../../nan_converters.h:29:1: error: ‘return_t’ does not name a type
../../nan_converters.h:30:1: error: ‘return_t’ does not name a type
../../nan_converters.h:31:1: error: ‘return_t’ does not name a type
../../nan_converters.h:32:1: error: ‘return_t’ does not name a type
../../nan_converters.h:42:1: error: ‘return_t’ does not name a type
../../nan_converters.h:43:1: error: ‘return_t’ does not name a type
../../nan_converters.h:44:1: error: ‘return_t’ does not name a type
../../nan_converters.h:45:1: error: ‘return_t’ does not name a type
../../nan_converters.h:46:1: error: ‘return_t’ does not name a type
In file included from ../../nan_converters.h:59:0,
from ../../nan.h:187,
from ../cpp/accessors.cpp:9:
../../nan_converters_43_inl.h:18:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::Boolean’ does not name a type
../../nan_converters_43_inl.h:19:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::Number’ does not name a type
../../nan_converters_43_inl.h:20:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::String’ does not name a type
../../nan_converters_43_inl.h:21:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::Object’ does not name a type
../../nan_converters_43_inl.h:22:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::Integer’ does not name a type
../../nan_converters_43_inl.h:23:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::Uint32’ does not name a type
../../nan_converters_43_inl.h:24:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactoryv8::Int32’ does not name a type
../../nan_converters_43_inl.h:34:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactory’ does not name a type
../../nan_converters_43_inl.h:35:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactory’ does not name a type
../../nan_converters_43_inl.h:36:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactory’ does not name a type
../../nan_converters_43_inl.h:37:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactory’ does not name a type
../../nan_converters_43_inl.h:38:1: error: ‘return_t’ in ‘struct Nan::imp::ToFactory’ does not name a type
In file included from ../../nan.h:188:0,
from ../cpp/accessors.cpp:9:
../../nan_new.h: In function ‘v8::Local Nan::imp::To(v8::Localv8::Integer) [with T = v8::Integer]’:
../../nan_new.h:21:32: error: no matching function for call to ‘To(v8::Localv8::Integer&)’
../../nan_new.h:21:32: note: candidate is:
../../nan_converters.h:53:38: note: template typename Nan::imp::ToFactory::return_t Nan::To(v8::Localv8::Value)
../../nan_new.h: In function ‘v8::Local Nan::imp::To(v8::Localv8::Integer) [with T = v8::Int32]’:
../../nan_new.h:28:30: error: no matching function for call to ‘To(v8::Localv8::Integer&)’
../../nan_new.h:28:30: note: candidate is:
../../nan_converters.h:53:38: note: template typename Nan::imp::ToFactory::return_t Nan::To(v8::Localv8::Value)
../../nan_new.h: In function ‘v8::Local Nan::imp::To(v8::Localv8::Integer) [with T = v8::Uint32]’:
../../nan_new.h:35:31: error: no matching function for call to ‘To(v8::Localv8::Integer&)’
../../nan_new.h:35:31: note: candidate is:
../../nan_converters.h:53:38: note: template typename Nan::imp::ToFactory::return_t Nan::To(v8::Localv8::Value)
../../nan_new.h: At global scope:
../../nan_new.h:43:11: error: ‘MaybeLocal’ does not name a type
../../nan_new.h:75:17: error: ‘return_t’ does not name a type
../../nan_new.h:141:17: error: ‘return_t’ does not name a type
../../nan_new.h:147:17: error: ‘return_t’ does not name a type
../../nan_new.h:148:17: error: ‘return_t’ does not name a type
../../nan_new.h:160:17: error: ‘return_t’ does not name a type
../../nan_new.h:161:17: error: ‘return_t’ does not name a type
../../nan_new.h:162:17: error: ‘return_t’ does not name a type
../../nan_new.h:163:17: error: ‘return_t’ does not name a type
../../nan_new.h:165:17: error: ‘return_t’ does not name a type
../../nan_new.h:166:17: error: ‘return_t’ does not name a type
../../nan_new.h:182:17: error: ‘return_t’ does not name a type
../../nan_new.h:183:17: error: ‘return_t’ does not name a type
In file included from ../../nan_new.h:189:0,
from ../../nan.h:188,
from ../cpp/accessors.cpp:9:
../../nan_implementation_12_inl.h:56:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::Date’ does not name a type
../../nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::Function::return_t Nan::imp::Factoryv8::Function::New(Nan::FunctionCallback, v8::Localv8::Value)’:
../../nan_implementation_12_inl.h:90:46: error: ‘NewInstance’ was not declared in this scope
../../nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’:
../../nan_implementation_12_inl.h:118:48: error: ‘NewInstance’ was not declared in this scope
../../nan_implementation_12_inl.h: At global scope:
../../nan_implementation_12_inl.h:197:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::RegExp’ does not name a type
../../nan_implementation_12_inl.h:216:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::Script’ does not name a type
../../nan_implementation_12_inl.h:222:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::Script’ does not name a type
../../nan_implementation_12_inl.h:254:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_implementation_12_inl.h:262:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_implementation_12_inl.h:268:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_implementation_12_inl.h:275:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_implementation_12_inl.h:281:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_implementation_12_inl.h:286:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_implementation_12_inl.h:347:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::UnboundScript’ does not name a type
../../nan_implementation_12_inl.h:354:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::UnboundScript’ does not name a type
In file included from ../../nan.h:188:0,
from ../cpp/accessors.cpp:9:
../../nan_new.h:291:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_new.h:297:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_new.h:303:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_new.h:309:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_new.h:315:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_new.h:321:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::String’ does not name a type
../../nan_new.h:327:1: error: ‘return_t’ in ‘struct Nan::imp::Factoryv8::RegExp’ does not name a type
In file included from ../cpp/accessors.cpp:9:0:
../../nan.h: In function ‘v8::Localv8::Value Nan::Error(const char_)’:
../../nan.h:639:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::ThrowError(const char_)’:
../../nan.h:639:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘v8::Localv8::Value Nan::RangeError(const char_)’:
../../nan.h:640:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::ThrowRangeError(const char_)’:
../../nan.h:640:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘v8::Localv8::Value Nan::ReferenceError(const char_)’:
../../nan.h:641:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::ThrowReferenceError(const char_)’:
../../nan.h:641:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘v8::Localv8::Value Nan::SyntaxError(const char_)’:
../../nan.h:642:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::ThrowSyntaxError(const char_)’:
../../nan.h:642:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘v8::Localv8::Value Nan::TypeError(const char_)’:
../../nan.h:643:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::ThrowTypeError(const char_)’:
../../nan.h:643:3: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: At global scope:
../../nan.h:651:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:673:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:689:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:702:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:719:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:725:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:733:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:740:14: error: ‘MaybeLocal’ does not name a type
../../nan.h:746:14: error: ‘MaybeLocal’ does not name a type
../../nan.h: In member function ‘void Nan::Callback::SetFunction(const v8::Localv8::Function&)’:
../../nan.h:1366:40: error: ‘Set’ was not declared in this scope
../../nan.h:1366:40: note: suggested alternative:
/home/nodebot/.node-gyp/4.0.0/include/node/v8.h:3021:17: note: ‘v8::Set’
../../nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char_, const v8::Localv8::Value&)’:
../../nan.h:1488:41: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char_) const’:
../../nan.h:1506:45: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In member function ‘virtual void Nan::AsyncWorker::HandleErrorCallback()’:
../../nan.h:1540:58: error: no matching function for call to ‘New(const char_)’
../../nan.h:1540:58: note: candidates are:
../../nan_implementation_12_inl.h:390:21: note: template<class T, class M> v8::Local Nan::New(const v8::Persistent<S, M>&)
../../nan_implementation_12_inl.h:395:21: note: template<class T, class M> v8::Local Nan::New(const Nan::Persistent<T, M>&)
../../nan_new.h:201:1: note: template typename Nan::imp::Factory::return_t Nan::New()
../../nan_new.h:207:1: note: template<class T, class A0> typename Nan::imp::Factory::return_t Nan::New(A0)
../../nan_new.h:213:1: note: template<class T, class A0, class A1> typename Nan::imp::Factory::return_t Nan::New(A0, A1)
../../nan_new.h:219:1: note: template<class T, class A0, class A1, class A2> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2)
../../nan_new.h:225:1: note: template<class T, class A0, class A1, class A2, class A3> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2, A3)
../../nan_new.h:237:1: note: template typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value)
../../nan_new.h:245:1: note: template<class T, class A2> typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value, A2)
../../nan.h: In function ‘void Nan::SetMethod(const T&, const char_, Nan::FunctionCallback)’:
../../nan.h:1829:16: error: there are no arguments to ‘GetFunction’ that depend on a template parameter, so a declaration of ‘GetFunction’ must be available [-fpermissive]
../../nan.h:1829:16: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../nan.h:1830:45: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::SetPrototypeMethod(v8::Localv8::FunctionTemplate, const char_, Nan::FunctionCallback)’:
../../nan.h:1842:32: error: ‘GetFunction’ was not declared in this scope
../../nan.h:1843:45: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In function ‘void Nan::SetAccessor(v8::Localv8::ObjectTemplate, v8::Localv8::String, Nan::GetterCallback, Nan::SetterCallback, v8::Localv8::Value, v8::AccessControl, v8::PropertyAttribute, Nan::imp::Sig)’:
../../nan.h:1868:47: error: ‘NewInstance’ was not declared in this scope
../../nan.h: In function ‘bool Nan::SetAccessor(v8::Localv8::Object, v8::Localv8::String, Nan::GetterCallback, Nan::SetterCallback, v8::Localv8::Value, v8::AccessControl, v8::PropertyAttribute)’:
../../nan.h:1911:51: error: ‘NewInstance’ was not declared in this scope
../../nan.h: In function ‘void Nan::SetNamedPropertyHandler(v8::Localv8::ObjectTemplate, Nan::PropertyGetterCallback, Nan::PropertySetterCallback, Nan::PropertyQueryCallback, Nan::PropertyDeleterCallback, Nan::PropertyEnumeratorCallback, v8::Localv8::Value)’:
../../nan.h:1959:47: error: ‘NewInstance’ was not declared in this scope
../../nan.h: In function ‘void Nan::SetIndexedPropertyHandler(v8::Localv8::ObjectTemplate, Nan::IndexGetterCallback, Nan::IndexSetterCallback, Nan::IndexQueryCallback, Nan::IndexDeleterCallback, Nan::IndexEnumeratorCallback, v8::Localv8::Value)’:
../../nan.h:2029:47: error: ‘NewInstance’ was not declared in this scope
In file included from ../cpp/accessors.cpp:9:0:
../../nan.h: In function ‘void Nan::Export(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE, const char_, Nan::FunctionCallback)’:
../../nan.h:2090:35: error: no matching function for call to ‘New(const char_&)’
../../nan.h:2090:35: note: candidates are:
../../nan_implementation_12_inl.h:390:21: note: template<class T, class M> v8::Local Nan::New(const v8::Persistent<S, M>&)
../../nan_implementation_12_inl.h:395:21: note: template<class T, class M> v8::Local Nan::New(const Nan::Persistent<T, M>&)
../../nan_new.h:201:1: note: template typename Nan::imp::Factory::return_t Nan::New()
../../nan_new.h:207:1: note: template<class T, class A0> typename Nan::imp::Factory::return_t Nan::New(A0)
../../nan_new.h:213:1: note: template<class T, class A0, class A1> typename Nan::imp::Factory::return_t Nan::New(A0, A1)
../../nan_new.h:219:1: note: template<class T, class A0, class A1, class A2> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2)
../../nan_new.h:225:1: note: template<class T, class A0, class A1, class A2, class A3> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2, A3)
../../nan_new.h:237:1: note: template typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value)
../../nan_new.h:245:1: note: template<class T, class A2> typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value, A2)
../../nan.h:2091:47: error: ‘GetFunction’ was not declared in this scope
../../nan.h:2091:65: error: ‘Set’ was not declared in this scope
../../nan.h:2091:65: note: suggested alternative:
/home/nodebot/.node-gyp/4.0.0/include/node/v8.h:3021:17: note: ‘v8::Set’
../../nan.h: In constructor ‘Nan::Tap::Tap(v8::Localv8::Value)’:
../../nan.h:2098:30: error: no matching function for call to ‘To(v8::Localv8::Value&)’
../../nan.h:2098:30: note: candidate is:
../../nan_converters.h:53:38: note: template typename Nan::imp::ToFactory::return_t Nan::To(v8::Localv8::Value)
../../nan.h: In member function ‘void Nan::Tap::ok(bool, const char_)’:
../../nan.h:2111:33: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../../nan.h: In member function ‘void Nan::Tap::pass(const char_)’:
../../nan.h:2117:30: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../cpp/accessors.cpp: In static member function ‘static void SetterGetter::Init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../cpp/accessors.cpp:48:56: error: no matching function for call to ‘New(const char [13])’
../cpp/accessors.cpp:48:56: note: candidates are:
../../nan_implementation_12_inl.h:390:21: note: template<class T, class M> v8::Local Nan::New(const v8::Persistent<S, M>&)
../../nan_implementation_12_inl.h:395:21: note: template<class T, class M> v8::Local Nan::New(const Nan::Persistent<T, M>&)
../../nan_new.h:201:1: note: template typename Nan::imp::Factory::return_t Nan::New()
../../nan_new.h:207:1: note: template<class T, class A0> typename Nan::imp::Factory::return_t Nan::New(A0)
../../nan_new.h:213:1: note: template<class T, class A0, class A1> typename Nan::imp::Factory::return_t Nan::New(A0, A1)
../../nan_new.h:219:1: note: template<class T, class A0, class A1, class A2> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2)
../../nan_new.h:225:1: note: template<class T, class A0, class A1, class A2, class A3> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2, A3)
../../nan_new.h:237:1: note: template typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value)
../../nan_new.h:245:1: note: template<class T, class A2> typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value, A2)
../cpp/accessors.cpp:54:25: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../cpp/accessors.cpp:58:35: error: no matching function for call to ‘New(const char [6])’
../cpp/accessors.cpp:58:35: note: candidates are:
../../nan_implementation_12_inl.h:390:21: note: template<class T, class M> v8::Local Nan::New(const v8::Persistent<S, M>&)
../../nan_implementation_12_inl.h:395:21: note: template<class T, class M> v8::Local Nan::New(const Nan::Persistent<T, M>&)
../../nan_new.h:201:1: note: template typename Nan::imp::Factory::return_t Nan::New()
../../nan_new.h:207:1: note: template<class T, class A0> typename Nan::imp::Factory::return_t Nan::New(A0)
../../nan_new.h:213:1: note: template<class T, class A0, class A1> typename Nan::imp::Factory::return_t Nan::New(A0, A1)
../../nan_new.h:219:1: note: template<class T, class A0, class A1, class A2> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2)
../../nan_new.h:225:1: note: template<class T, class A0, class A1, class A2, class A3> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2, A3)
../../nan_new.h:237:1: note: template typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value)
../../nan_new.h:245:1: note: template<class T, class A2> typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value, A2)
../cpp/accessors.cpp:65:44: error: no matching function for call to ‘New(const char [7])’
../cpp/accessors.cpp:65:44: note: candidates are:
../../nan_implementation_12_inl.h:390:21: note: template<class T, class M> v8::Local Nan::New(const v8::Persistent<S, M>&)
../../nan_implementation_12_inl.h:395:21: note: template<class T, class M> v8::Local Nan::New(const Nan::Persistent<T, M>&)
../../nan_new.h:201:1: note: template typename Nan::imp::Factory::return_t Nan::New()
../../nan_new.h:207:1: note: template<class T, class A0> typename Nan::imp::Factory::return_t Nan::New(A0)
../../nan_new.h:213:1: note: template<class T, class A0, class A1> typename Nan::imp::Factory::return_t Nan::New(A0, A1)
../../nan_new.h:219:1: note: template<class T, class A0, class A1, class A2> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2)
../../nan_new.h:225:1: note: template<class T, class A0, class A1, class A2, class A3> typename Nan::imp::Factory::return_t Nan::New(A0, A1, A2, A3)
../../nan_new.h:237:1: note: template typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value)
../../nan_new.h:245:1: note: template<class T, class A2> typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Localv8::Value, A2)
../cpp/accessors.cpp:65:73: error: ‘Set’ was not declared in this scope
../cpp/accessors.cpp:65:73: note: suggested alternative:
/home/nodebot/.node-gyp/4.0.0/include/node/v8.h:3021:17: note: ‘v8::Set’
../cpp/accessors.cpp: In static member function ‘static Nan::NAN_GETTER_RETURN_TYPE SetterGetter::GetProp1(v8::Localv8::String, Nan::NAN_GETTER_ARGS_TYPE)’:
../cpp/accessors.cpp:108:59: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../cpp/accessors.cpp: In static member function ‘static Nan::NAN_GETTER_RETURN_TYPE SetterGetter::GetProp2(v8::Localv8::String, Nan::NAN_GETTER_ARGS_TYPE)’:
../cpp/accessors.cpp:130:59: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
../cpp/accessors.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE SetterGetter::Log(Nan::NAN_METHOD_ARGS_TYPE)’:
../cpp/accessors.cpp:162:57: error: ‘Nan::imp::FactoryBasev8::Boolean::return_t’ has no member named ‘ToLocalChecked’
make[1]: *_* [Release/obj.target/accessors/cpp/accessors.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/svt/nodebot/test-crypt/nan/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.2.0-64-generic
gyp ERR! command "/svt/shared/JOYENT32_40/bin/node" "/svt/nodebot/test-crypt/nan/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /svt/nodebot/test-crypt/nan/test
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
make: *** [test/build/Release/symbols.node] Error 1

I tested this with a v0.12.7 node (32-bit) version and results were fine (make test then npm test).

@bnoordhuis
Copy link
Member

You need a C++11-capable compiler for node v4 (and therefore nan). That means at least g++ 4.8 or clang++ 3.4.

@b-admike
Copy link
Author

thank you @bnoordhuis, tested on g++ 4.8.2 and it works fine.

@kkoopa
Copy link
Collaborator

kkoopa commented Sep 10, 2015

I'd like to note that NAN 2.0 still works with older compilers on older versions than io.js 3.

@rvagg
Copy link
Member

rvagg commented Sep 10, 2015

fun imp

@kkoopa
Copy link
Collaborator

kkoopa commented Sep 11, 2015

😈

@agnat
Copy link
Collaborator

agnat commented Sep 11, 2015

Maybe we should be like

#if __cplusplus <= 199711L
# error This version of node/NAN/v8 requires a C++11 compiler
#endif

😈
?

@kkoopa
Copy link
Collaborator

kkoopa commented Sep 11, 2015

Only applies when io.js 3 or newer is used. I would rather see this upstreamed to Node.js 4.0.1 and io.js 3.3.0.

On September 11, 2015 6:01:26 PM GMT+03:00, David Siegel [email protected] wrote:

Maybe we should be like

#if __cplusplus <= 199711L
# error This version of node/NAN/v8 requires a C++11 compiler
#endif

😈
?


Reply to this email directly or view it on GitHub:
#448 (comment)

@agnat
Copy link
Collaborator

agnat commented Sep 11, 2015

Well, actually it belongs in v8, since they started using C++11 features. I don't care who does it but providing a clean error seems like the user friendly thing here.

Currently we catch the tickets and manually paste the error message above. That's not very lazy

😈

@kkoopa
Copy link
Collaborator

kkoopa commented Sep 11, 2015

Yes, it does belong in V8, but even if accepted, it wouldn't be backported to 4.4, where it started, so getting Node.js to do it is more realistic.

@rvagg
Copy link
Member

rvagg commented Sep 12, 2015

#if __cplusplus <= 199711L does that cover all valid compilers, gcc, llvm, MSVC? if so, then that's brilliant and +1 for adding it here since most people using NAN haven't compiled Node or V8 from scratch but are using binaries provided elsewhere.

😈

@agnat
Copy link
Collaborator

agnat commented Sep 12, 2015

does that cover all valid compilers, gcc, llvm, MSVC?

Yes, it does. It is standard. So, every conforming compiler has it.

That said compilers have bugs too. Here is an old and cold gcc ticket

😈

@agnat
Copy link
Collaborator

agnat commented Sep 12, 2015

Oh, and obviously it should be < and not <=...

@bnoordhuis
Copy link
Member

@agnat Shouldn't that be #if __cplusplus < 201103L?

@rvagg
Copy link
Member

rvagg commented Sep 12, 2015

Also fwiw @kkoopa this isn't as helpful in core because almost all third-party code is compiled prior to src/* so deferring a warning until then would be frustrating, getting it into V8 would be much better obviously. It's also possible to put this in configure, perhaps we should consider that.

@agnat
Copy link
Collaborator

agnat commented Sep 12, 2015

@bnoordhuis, oh, that too ... quite a buggy scribble

😈

@yinrong
Copy link

yinrong commented Dec 8, 2015

+1 be disturbed by this change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants