uwsgi-docs icon indicating copy to clipboard operation
uwsgi-docs copied to clipboard

V8 plugin fails to build with recent libv8 source

Open jonassmedegaard opened this issue 6 years ago • 10 comments

Hi,

the v8 plugin succesfully builds with the libv8 3.14 as shipped in Debian for some years. If fails to build with newer libv8 howver. E.g. fails like this with libv8 6.2 (as shipped with Debian in package nodejs-dev 8.11.2~dfsg-1):

CFLAGS=-I/usr/include/nodejs/deps/v8/include \
uwsgi --build-plugin /usr/src/uwsgi/plugins/v8
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::SetAllowCodeGenerationFromStringsCallback(v8::DeprecatedAllowCodeGenerationFromStringsCallback)':
/usr/include/nodejs/deps/v8/include/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));
                   ^
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::RemoveGCPrologueCallback(v8::GCCallback)':
/usr/include/nodejs/deps/v8/include/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));
                                                     ^
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::RemoveGCEpilogueCallback(v8::GCCallback)':
/usr/include/nodejs/deps/v8/include/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));
                                                     ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: At global scope:
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:17:69: error: 'Arguments' in namespace 'v8' does not name a type
 static v8::Handle<v8::Value> uwsgi_v8_api_register_signal(const v8::Arguments& args) {
                                                                     ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'v8::Handle<v8::Value> uwsgi_v8_api_register_signal(const int&)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:19:18: error: request for member 'Length' in 'args', which is of non-class type 'const int'
         if (args.Length() > 2) {
                  ^~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:20:32: error: invalid types 'const int[int]' for array subscript
   uint8_t uwsgi_signal = args[0]->Uint32Value();
                                ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:21:43: error: invalid types 'const int[int]' for array subscript
   v8::String::Utf8Value signal_kind(args[1]->ToString());
                                           ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:23:110: error: invalid types 'const int[int]' for array subscript
   v8::Persistent<v8::Function> func = v8::Persistent<v8::Function>::New(v8::Handle<v8::Function>::Cast(args[2]));
                                                                                                              ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:36:20: error: too few arguments to function 'v8::Local<v8::Boolean> v8::True(v8::Isolate*)'
    return v8::True();
                    ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10150:16: note: declared here
 Local<Boolean> True(Isolate* isolate) {
                ^~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:41:25: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
    return v8::Undefined();
                         ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:45:19: error: too few arguments to function 'v8::Local<v8::Boolean> v8::True(v8::Isolate*)'
   return v8::True();
                   ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10150:16: note: declared here
 Local<Boolean> True(Isolate* isolate) {
                ^~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:48:30: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
         return v8::Undefined();
                              ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: At global scope:
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:51:66: error: 'Arguments' in namespace 'v8' does not name a type
 static v8::Handle<v8::Value> uwsgi_v8_api_register_rpc(const v8::Arguments& args) {
                                                                  ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'v8::Handle<v8::Value> uwsgi_v8_api_register_rpc(const int&)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:53:18: error: request for member 'Length' in 'args', which is of non-class type 'const int'
         if (args.Length() > 1) {
                  ^~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:54:36: error: invalid types 'const int[int]' for array subscript
   v8::String::Utf8Value name(args[0]->ToString());
                                    ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:56:12: error: request for member 'Length' in 'args', which is of non-class type 'const int'
   if (args.Length() > 2) {
            ^~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:57:19: error: invalid types 'const int[int]' for array subscript
    j_argc = args[2]->Uint32Value();
                   ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:60:110: error: invalid types 'const int[int]' for array subscript
   v8::Persistent<v8::Function> func = v8::Persistent<v8::Function>::New(v8::Handle<v8::Function>::Cast(args[1]));
                                                                                                              ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:77:21: error: too few arguments to function 'v8::Local<v8::Boolean> v8::True(v8::Isolate*)'
     return v8::True();
                     ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10150:16: note: declared here
 Local<Boolean> True(Isolate* isolate) {
                ^~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:82:46: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
                         return v8::Undefined();
                                              ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:90:25: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
    return v8::Undefined();
                         ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:93:19: error: too few arguments to function 'v8::Local<v8::Boolean> v8::True(v8::Isolate*)'
   return v8::True();
                   ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10150:16: note: declared here
 Local<Boolean> True(Isolate* isolate) {
                ^~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:96:30: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
         return v8::Undefined();
                              ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'void uwsgi_v8_load_file(int, char*)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:102:23: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
  uv8.contexts[core_id]->Enter();
                       ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:103:18: error: 'v8::HandleScope::HandleScope()' is protected within this context
  v8::HandleScope handle_scope;
                  ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:109:74: error: 'New' is not a member of 'v8::String'
         v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New(code), v8::String::New(filename) );
                                                                          ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:109:97: error: 'New' is not a member of 'v8::String'
         v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New(code), v8::String::New(filename) );
                                                                                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: At global scope:
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:122:57: error: 'Arguments' in namespace 'v8' does not name a type
 static v8::Handle<v8::Value> uwsgi_v8_api_log(const v8::Arguments& args) {
                                                         ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'v8::Handle<v8::Value> uwsgi_v8_api_log(const int&)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:124:18: error: request for member 'Length' in 'args', which is of non-class type 'const int'
         if (args.Length() > 0) {
                  ^~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:125:49: error: invalid types 'const int[int]' for array subscript
                 v8::String::Utf8Value str(args[0]->ToString());
                                                 ^
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:134:30: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
         return v8::Undefined();
                              ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'v8::Persistent<v8::Context> uwsgi_v8_new_isolate(int)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:141:49: error: no matching function for call to 'v8::Isolate::New()'
         v8::Isolate *isolate = v8::Isolate::New();
                                                 ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:6979:19: note: candidate: 'static v8::Isolate* v8::Isolate::New(const v8::Isolate::CreateParams&)'
   static Isolate* New(const CreateParams& params);
                   ^~~
/usr/include/nodejs/deps/v8/include/v8.h:6979:19: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:148:9: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
  context->Enter();
         ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:150:18: error: 'v8::HandleScope::HandleScope()' is protected within this context
  v8::HandleScope handle_scope;
                  ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:153:60: error: no matching function for call to 'v8::Object::New()'
         v8::Handle<v8::Object> uwsgi_api = v8::Object::New();
                                                            ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:154:36: error: 'New' is not a member of 'v8::String'
         uwsgi_api->Set(v8::String::New("log"), v8::FunctionTemplate::New(uwsgi_v8_api_log)->GetFunction());
                                    ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:154:90: error: no matching function for call to 'v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))'
         uwsgi_api->Set(v8::String::New("log"), v8::FunctionTemplate::New(uwsgi_v8_api_log)->GetFunction());
                                                                                          ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note: candidate: 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior)'
   static Local<FunctionTemplate> New(
                                  ^~~
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note:   no known conversion for argument 1 from 'v8::Handle<v8::Value>(const int&)' {aka 'v8::Local<v8::Value>(const int&)'} to 'v8::Isolate*'
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:155:36: error: 'New' is not a member of 'v8::String'
         uwsgi_api->Set(v8::String::New("register_rpc"), v8::FunctionTemplate::New(uwsgi_v8_api_register_rpc)->GetFunction());
                                    ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:155:108: error: no matching function for call to 'v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))'
         uwsgi_api->Set(v8::String::New("register_rpc"), v8::FunctionTemplate::New(uwsgi_v8_api_register_rpc)->GetFunction());
                                                                                                            ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note: candidate: 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior)'
   static Local<FunctionTemplate> New(
                                  ^~~
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note:   no known conversion for argument 1 from 'v8::Handle<v8::Value>(const int&)' {aka 'v8::Local<v8::Value>(const int&)'} to 'v8::Isolate*'
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:156:36: error: 'New' is not a member of 'v8::String'
         uwsgi_api->Set(v8::String::New("register_signal"), v8::FunctionTemplate::New(uwsgi_v8_api_register_signal)->GetFunction());
                                    ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:156:114: error: no matching function for call to 'v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))'
         uwsgi_api->Set(v8::String::New("register_signal"), v8::FunctionTemplate::New(uwsgi_v8_api_register_signal)->GetFunction());
                                                                                                                  ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note: candidate: 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior)'
   static Local<FunctionTemplate> New(
                                  ^~~
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note:   no known conversion for argument 1 from 'v8::Handle<v8::Value>(const int&)' {aka 'v8::Local<v8::Value>(const int&)'} to 'v8::Isolate*'
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:158:16: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         context->Global()->Set(v8::String::New("uwsgi"), uwsgi_api);
                ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:158:44: error: 'New' is not a member of 'v8::String'
         context->Global()->Set(v8::String::New("uwsgi"), uwsgi_api);
                                            ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'void uwsgi_v8_configurator(char*, char**)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:206:18: error: 'v8::HandleScope::HandleScope()' is protected within this context
  v8::HandleScope handle_scope;
                  ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:213:53: error: no matching function for call to 'v8::Context::New()'
  v8::Handle<v8::Context> context = v8::Context::New();
                                                     ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:8532:25: note: candidate: 'static v8::Local<v8::Context> v8::Context::New(v8::Isolate*, v8::ExtensionConfiguration*, v8::MaybeLocal<v8::ObjectTemplate>, v8::MaybeLocal<v8::Value>)'
   static Local<Context> New(
                         ^~~
/usr/include/nodejs/deps/v8/include/v8.h:8532:25: note:   candidate expects 4 arguments, 0 provided
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:219:67: error: 'New' is not a member of 'v8::String'
  v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New(code), v8::String::New(filename) );
                                                                   ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:219:90: error: 'New' is not a member of 'v8::String'
  v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New(code), v8::String::New(filename) );
                                                                                          ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:244:56: error: 'New' is not a member of 'v8::String'
    uint32_t opt_l = value->ToObject()->Get(v8::String::New("length"))->ToObject()->Uint32Value();
                                                        ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'uint64_t uwsgi_v8_rpc(void*, uint8_t, char**, uint16_t*, char**)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:264:23: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
  uv8.contexts[core_id]->Enter();
                       ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:265:18: error: 'v8::HandleScope::HandleScope()' is protected within this context
  v8::HandleScope handle_scope;
                  ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:272:25: error: 'New' is not a member of 'v8::String'
   argj[i] = v8::String::New(argv[i], argvs[i]);
                         ^~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:277:39: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Function>'
  v8::Handle<v8::Value> result = l_func->Call(uv8.contexts[core_id]->Global(), argc, argj);
                                       ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:277:67: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
  v8::Handle<v8::Value> result = l_func->Call(uv8.contexts[core_id]->Global(), argc, argj);
                                                                   ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:294:17: error: 'IdleNotification' is not a member of 'v8::V8'
  while(!v8::V8::IdleNotification()) {};
                 ^~~~~~~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc: In function 'int uwsgi_v8_signal_handler(uint8_t, void*)':
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:313:30: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         uv8.contexts[core_id]->Enter();
                              ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:314:25: error: 'v8::HandleScope::HandleScope()' is protected within this context
         v8::HandleScope handle_scope;
                         ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:316:31: error: no matching function for call to 'v8::Number::New(uint8_t&)'
  argj[0] = v8::Number::New(sig);
                               ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:2916:24: note: candidate: 'static v8::Local<v8::Number> v8::Number::New(v8::Isolate*, double)'
   static Local<Number> New(Isolate* isolate, double value);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:2916:24: note:   candidate expects 2 arguments, 1 provided
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:319:39: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Function>'
  v8::Handle<v8::Value> result = l_func->Call(uv8.contexts[core_id]->Global(), 1, argj);
                                       ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:319:67: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
  v8::Handle<v8::Value> result = l_func->Call(uv8.contexts[core_id]->Global(), 1, argj);
                                                                   ^~
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:321:17: error: 'IdleNotification' is not a member of 'v8::V8'
  while(!v8::V8::IdleNotification()) {};
                 ^~~~~~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h: In instantiation of 'static void v8::NonCopyablePersistentTraits<T>::Uncompilable() [with O = v8::Object; T = v8::Function]':
/usr/include/nodejs/deps/v8/include/v8.h:644:25:   required from 'static void v8::NonCopyablePersistentTraits<T>::Copy(const v8::Persistent<S, M>&, v8::NonCopyablePersistentTraits<T>::NonCopyablePersistent*) [with S = v8::Function; M = v8::NonCopyablePersistentTraits<v8::Function>; T = v8::Function; v8::NonCopyablePersistentTraits<T>::NonCopyablePersistent = v8::Persistent<v8::Function>]'
/usr/include/nodejs/deps/v8/include/v8.h:9184:10:   required from 'void v8::Persistent<T, M>::Copy(const v8::Persistent<S, M>&) [with S = v8::Function; M2 = v8::NonCopyablePersistentTraits<v8::Function>; T = v8::Function; M = v8::NonCopyablePersistentTraits<v8::Function>]'
/usr/include/nodejs/deps/v8/include/v8.h:717:5:   required from 'v8::Persistent<T, M>& v8::Persistent<T, M>::operator=(const v8::Persistent<T, M>&) [with T = v8::Function; M = v8::NonCopyablePersistentTraits<v8::Function>]'
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:33:25:   required from here
/usr/include/nodejs/deps/v8/include/v8.h:162:37: error: cannot convert 'v8::Primitive*' to 'v8::Object* volatile' in assignment
     *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h:648:5: note: in expansion of macro 'TYPE_CHECK'
     TYPE_CHECK(O, Primitive);
     ^~~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h: In instantiation of 'static void v8::NonCopyablePersistentTraits<T>::Uncompilable() [with O = v8::Object; T = v8::Context]':
/usr/include/nodejs/deps/v8/include/v8.h:644:25:   required from 'static void v8::NonCopyablePersistentTraits<T>::Copy(const v8::Persistent<S, M>&, v8::NonCopyablePersistentTraits<T>::NonCopyablePersistent*) [with S = v8::Context; M = v8::NonCopyablePersistentTraits<v8::Context>; T = v8::Context; v8::NonCopyablePersistentTraits<T>::NonCopyablePersistent = v8::Persistent<v8::Context>]'
/usr/include/nodejs/deps/v8/include/v8.h:9184:10:   required from 'void v8::Persistent<T, M>::Copy(const v8::Persistent<S, M>&) [with S = v8::Context; M2 = v8::NonCopyablePersistentTraits<v8::Context>; T = v8::Context; M = v8::NonCopyablePersistentTraits<v8::Context>]'
/usr/include/nodejs/deps/v8/include/v8.h:710:5:   required from 'v8::Persistent<T, M>::Persistent(const v8::Persistent<T, M>&) [with T = v8::Context; M = v8::NonCopyablePersistentTraits<v8::Context>]'
/usr/src/uwsgi/plugins/v8/v8_uwsgi.cc:147:63:   required from here
/usr/include/nodejs/deps/v8/include/v8.h:162:37: error: cannot convert 'v8::Primitive*' to 'v8::Object* volatile' in assignment
     *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h:648:5: note: in expansion of macro 'TYPE_CHECK'
     TYPE_CHECK(O, Primitive);
     ^~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::SetAllowCodeGenerationFromStringsCallback(v8::DeprecatedAllowCodeGenerationFromStringsCallback)':
/usr/include/nodejs/deps/v8/include/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));
                   ^
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::RemoveGCPrologueCallback(v8::GCCallback)':
/usr/include/nodejs/deps/v8/include/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));
                                                     ^
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::RemoveGCEpilogueCallback(v8::GCCallback)':
/usr/include/nodejs/deps/v8/include/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));
                                                     ^
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc: At global scope:
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:46:69: error: 'Arguments' in namespace 'v8' does not name a type
 static v8::Handle < v8::Value > uwsgi_v8_commonjs_require(const v8::Arguments &);
                                                                     ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc: In function 'v8::Persistent<v8::Context> uwsgi_v8_setup_context()':
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:55:18: error: 'v8::HandleScope::HandleScope()' is protected within this context
  v8::HandleScope handle_scope;
                  ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:69:64: error: no matching function for call to 'v8::Context::New()'
         v8::Persistent<v8::Context> context = v8::Context::New();
                                                                ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:8532:25: note: candidate: 'static v8::Local<v8::Context> v8::Context::New(v8::Isolate*, v8::ExtensionConfiguration*, v8::MaybeLocal<v8::ObjectTemplate>, v8::MaybeLocal<v8::Value>)'
   static Local<Context> New(
                         ^~~
/usr/include/nodejs/deps/v8/include/v8.h:8532:25: note:   candidate expects 4 arguments, 0 provided
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:70:16: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         context->Enter();
                ^~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:72:48: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         v8::Handle<v8::Object> global = context->Global();
                                                ^~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:74:60: error: no matching function for call to 'v8::Object::New()'
         v8::Handle < v8::Object > system = v8::Object::New();
                                                            ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:75:56: error: no matching function for call to 'v8::Array::New()'
         v8::Handle < v8::Array > args = v8::Array::New();
                                                        ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3524:23: note: candidate: 'static v8::Local<v8::Array> v8::Array::New(v8::Isolate*, int)'
   static Local<Array> New(Isolate* isolate, int length = 0);
                       ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3524:23: note:   candidate expects 2 arguments, 0 provided
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:78:45: error: no matching function for call to 'v8::Integer::New(int&)'
                 args->Set(v8::Integer::New(i), v8::String::New(uwsgi.argv[i]));
                                             ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:2929:25: note: candidate: 'static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)'
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^~~
/usr/include/nodejs/deps/v8/include/v8.h:2929:25: note:   candidate expects 2 arguments, 1 provided
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:78:60: error: 'New' is not a member of 'v8::String'
                 args->Set(v8::Integer::New(i), v8::String::New(uwsgi.argv[i]));
                                                            ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:80:33: error: 'New' is not a member of 'v8::String'
         system->Set(v8::String::New("args"), args);
                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:81:57: error: no matching function for call to 'v8::Object::New()'
         v8::Handle < v8::Object > env = v8::Object::New();
                                                         ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:82:33: error: 'New' is not a member of 'v8::String'
         system->Set(v8::String::New("env"), env);
                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:83:33: error: 'New' is not a member of 'v8::String'
         global->Set(v8::String::New("require"), v8::FunctionTemplate::New(uwsgi_v8_commonjs_require)->GetFunction());
                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:83:100: error: no matching function for call to 'v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))'
         global->Set(v8::String::New("require"), v8::FunctionTemplate::New(uwsgi_v8_commonjs_require)->GetFunction());
                                                                                                    ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note: candidate: 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior)'
   static Local<FunctionTemplate> New(
                                  ^~~
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note:   no known conversion for argument 1 from 'v8::Handle<v8::Value>(const int&)' {aka 'v8::Local<v8::Value>(const int&)'} to 'v8::Isolate*'
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:84:33: error: 'New' is not a member of 'v8::String'
         global->Set(v8::String::New("system"), system);
                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc: In function 'v8::Handle<v8::Value> uwsgi_v8_commonjs_require_do(char*)':
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:101:53: error: no matching function for call to 'v8::Object::New()'
  v8::Local < v8::Object > exports = v8::Object::New();
                                                     ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:102:15: error: 'GetCurrent' is not a member of 'v8::Context'
  v8::Context::GetCurrent()->Global()->Set(v8::String::New("exports"), exports);
               ^~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:102:55: error: 'New' is not a member of 'v8::String'
  v8::Context::GetCurrent()->Global()->Set(v8::String::New("exports"), exports);
                                                       ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:105:69: error: 'New' is not a member of 'v8::String'
  v8::Handle < v8::Script > script = v8::Script::Compile(v8::String::New(code), v8::String::New(filename));
                                                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:105:92: error: 'New' is not a member of 'v8::String'
  v8::Handle < v8::Script > script = v8::Script::Compile(v8::String::New(code), v8::String::New(filename));
                                                                                            ^~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:113:24: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
   return v8::Undefined();
                        ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc: At global scope:
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:119:69: error: 'Arguments' in namespace 'v8' does not name a type
 static v8::Handle < v8::Value > uwsgi_v8_commonjs_require(const v8::Arguments & args) {
                                                                     ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc: In function 'v8::Handle<v8::Value> uwsgi_v8_commonjs_require(const int&)':
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:120:11: error: request for member 'Length' in 'args', which is of non-class type 'const int'
  if (args.Length() > 0) {
           ^~~~~~
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:121:43: error: invalid types 'const int[int]' for array subscript
   v8::String::Utf8Value module_name(args[0]->ToString());
                                           ^
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:160:23: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
  return v8::Undefined();
                       ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_commonjs.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h: In instantiation of 'static void v8::NonCopyablePersistentTraits<T>::Uncompilable() [with O = v8::Object; T = v8::Context]':
/usr/include/nodejs/deps/v8/include/v8.h:644:25:   required from 'static void v8::NonCopyablePersistentTraits<T>::Copy(const v8::Persistent<S, M>&, v8::NonCopyablePersistentTraits<T>::NonCopyablePersistent*) [with S = v8::Context; M = v8::NonCopyablePersistentTraits<v8::Context>; T = v8::Context; v8::NonCopyablePersistentTraits<T>::NonCopyablePersistent = v8::Persistent<v8::Context>]'
/usr/include/nodejs/deps/v8/include/v8.h:9184:10:   required from 'void v8::Persistent<T, M>::Copy(const v8::Persistent<S, M>&) [with S = v8::Context; M2 = v8::NonCopyablePersistentTraits<v8::Context>; T = v8::Context; M = v8::NonCopyablePersistentTraits<v8::Context>]'
/usr/include/nodejs/deps/v8/include/v8.h:710:5:   required from 'v8::Persistent<T, M>::Persistent(const v8::Persistent<T, M>&) [with T = v8::Context; M = v8::NonCopyablePersistentTraits<v8::Context>]'
/usr/src/uwsgi/plugins/v8/v8_commonjs.cc:85:16:   required from here
/usr/include/nodejs/deps/v8/include/v8.h:162:37: error: cannot convert 'v8::Primitive*' to 'v8::Object* volatile' in assignment
     *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h:648:5: note: in expansion of macro 'TYPE_CHECK'
     TYPE_CHECK(O, Primitive);
     ^~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::SetAllowCodeGenerationFromStringsCallback(v8::DeprecatedAllowCodeGenerationFromStringsCallback)':
/usr/include/nodejs/deps/v8/include/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));
                   ^
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::RemoveGCPrologueCallback(v8::GCCallback)':
/usr/include/nodejs/deps/v8/include/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));
                                                     ^
/usr/include/nodejs/deps/v8/include/v8.h: In static member function 'static void v8::V8::RemoveGCEpilogueCallback(v8::GCCallback)':
/usr/include/nodejs/deps/v8/include/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));
                                                     ^
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc: At global scope:
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:6:65: error: 'Arguments' in namespace 'v8' does not name a type
 static v8::Handle<v8::Value> uwsgi_v8_jsgi_body_chunk(const v8::Arguments& args) {
                                                                 ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc: In function 'v8::Handle<v8::Value> uwsgi_v8_jsgi_body_chunk(const int&)':
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:8:18: error: request for member 'Length' in 'args', which is of non-class type 'const int'
         if (args.Length() > 1) {
                  ^~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:9:51: error: invalid types 'const int[int]' for array subscript
                 v8::String::Utf8Value chunk(args[0]->ToString());
                                                   ^
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:13:60: error: invalid types 'const int[int]' for array subscript
   if (uwsgi_response_write_body_do(wsgi_req, *chunk, args[0]->ToString()->Length())) {
                                                            ^
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:14:15: error: 'ThrowException' is not a member of 'v8'
    return v8::ThrowException(v8::Exception::Error(v8::String::New("unable to send JSGI body")));
               ^~~~~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:14:15: note: suggested alternative: 'Exception'
    return v8::ThrowException(v8::Exception::Error(v8::String::New("unable to send JSGI body")));
               ^~~~~~~~~~~~~~
               Exception
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:14:63: error: 'New' is not a member of 'v8::String'
    return v8::ThrowException(v8::Exception::Error(v8::String::New("unable to send JSGI body")));
                                                               ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:18:30: error: too few arguments to function 'v8::Local<v8::Primitive> v8::Undefined(v8::Isolate*)'
         return v8::Undefined();
                              ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:313:27: note: declared here
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc: In function 'void uwsgi_v8_jsgi_fill_request(wsgi_request*, v8::Handle<v8::Object>)':
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:22:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("method"), v8::String::New(wsgi_req->method, wsgi_req->method_len));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:22:48: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("method"), v8::String::New(wsgi_req->method, wsgi_req->method_len));
                                                ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:23:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("scriptName"), v8::String::New(wsgi_req->script_name, wsgi_req->script_name_len));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:23:52: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("scriptName"), v8::String::New(wsgi_req->script_name, wsgi_req->script_name_len));
                                                    ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:24:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("pathInfo"), v8::String::New(wsgi_req->path_info, wsgi_req->path_info_len));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:24:50: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("pathInfo"), v8::String::New(wsgi_req->path_info, wsgi_req->path_info_len));
                                                  ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:25:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("queryString"), v8::String::New(wsgi_req->query_string, wsgi_req->query_string_len));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:25:53: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("queryString"), v8::String::New(wsgi_req->query_string, wsgi_req->query_string_len));
                                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:26:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("host"), v8::String::New(wsgi_req->host, wsgi_req->host_len));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:26:46: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("host"), v8::String::New(wsgi_req->host, wsgi_req->host_len));
                                              ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:28:22: error: 'New' is not a member of 'v8::String'
   o->Set(v8::String::New("scheme"), v8::String::New(wsgi_req->scheme, wsgi_req->scheme_len));
                      ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:28:49: error: 'New' is not a member of 'v8::String'
   o->Set(v8::String::New("scheme"), v8::String::New(wsgi_req->scheme, wsgi_req->scheme_len));
                                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:31:22: error: 'New' is not a member of 'v8::String'
   o->Set(v8::String::New("scheme"), v8::String::New("http"));
                      ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:31:49: error: 'New' is not a member of 'v8::String'
   o->Set(v8::String::New("scheme"), v8::String::New("http"));
                                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:33:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("remoteAddr"), v8::String::New(wsgi_req->remote_addr, wsgi_req->remote_addr_len));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:33:52: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("remoteAddr"), v8::String::New(wsgi_req->remote_addr, wsgi_req->remote_addr_len));
                                                    ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:35:22: error: 'New' is not a member of 'v8::String'
   o->Set(v8::String::New("remoteUser"), v8::String::New(wsgi_req->remote_user, wsgi_req->remote_user_len));
                      ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:35:53: error: 'New' is not a member of 'v8::String'
   o->Set(v8::String::New("remoteUser"), v8::String::New(wsgi_req->remote_user, wsgi_req->remote_user_len));
                                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:37:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("serverSoftware"), v8::String::New("uWSGI " UWSGI_VERSION));
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:37:56: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("serverSoftware"), v8::String::New("uWSGI " UWSGI_VERSION));
                                                        ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:39:47: error: no matching function for call to 'v8::Object::New()'
  v8::Handle<v8::Value> jsgi = v8::Object::New();
                                               ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:41:37: error: 'New' is not a member of 'v8::String'
   jsgi->ToObject()->Set(v8::String::New("multithread"), v8::True());
                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:41:66: error: too few arguments to function 'v8::Local<v8::Boolean> v8::True(v8::Isolate*)'
   jsgi->ToObject()->Set(v8::String::New("multithread"), v8::True());
                                                                  ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10150:16: note: declared here
 Local<Boolean> True(Isolate* isolate) {
                ^~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:44:37: error: 'New' is not a member of 'v8::String'
   jsgi->ToObject()->Set(v8::String::New("multithread"), v8::False());
                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:44:67: error: too few arguments to function 'v8::Local<v8::Boolean> v8::False(v8::Isolate*)'
   jsgi->ToObject()->Set(v8::String::New("multithread"), v8::False());
                                                                   ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10159:16: note: declared here
 Local<Boolean> False(Isolate* isolate) {
                ^~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:48:37: error: 'New' is not a member of 'v8::String'
   jsgi->ToObject()->Set(v8::String::New("multiprocess"), v8::True());
                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:48:67: error: too few arguments to function 'v8::Local<v8::Boolean> v8::True(v8::Isolate*)'
   jsgi->ToObject()->Set(v8::String::New("multiprocess"), v8::True());
                                                                   ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10150:16: note: declared here
 Local<Boolean> True(Isolate* isolate) {
                ^~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:51:37: error: 'New' is not a member of 'v8::String'
   jsgi->ToObject()->Set(v8::String::New("multiprocess"), v8::False());
                                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:51:68: error: too few arguments to function 'v8::Local<v8::Boolean> v8::False(v8::Isolate*)'
   jsgi->ToObject()->Set(v8::String::New("multiprocess"), v8::False());
                                                                    ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:10159:16: note: declared here
 Local<Boolean> False(Isolate* isolate) {
                ^~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:53:21: error: 'New' is not a member of 'v8::String'
  o->Set(v8::String::New("jsgi"), jsgi);
                     ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc: In function 'int uwsgi_v8_request(wsgi_request*)':
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:77:30: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         uv8.contexts[core_id]->Enter();
                              ^~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:78:25: error: 'v8::HandleScope::HandleScope()' is protected within this context
         v8::HandleScope handle_scope;
                         ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:80:35: error: no matching function for call to 'v8::Object::New()'
         argj[0] = v8::Object::New();
                                   ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:82:62: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Function>'
         v8::Handle<v8::Value> result = uv8.jsgi_func[core_id]->Call(uv8.contexts[core_id]->Global(), 1, argj);
                                                              ^~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:82:90: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         v8::Handle<v8::Value> result = uv8.jsgi_func[core_id]->Call(uv8.contexts[core_id]->Global(), 1, argj);
                                                                                          ^~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:86:47: error: 'New' is not a member of 'v8::String'
  status = result->ToObject()->Get(v8::String::New("status"));
                                               ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:91:48: error: 'New' is not a member of 'v8::String'
  headers = result->ToObject()->Get(v8::String::New("headers"));
                                                ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:96:45: error: 'New' is not a member of 'v8::String'
  body = result->ToObject()->Get(v8::String::New("body"));
                                             ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:116:77: error: 'New' is not a member of 'v8::String'
                         uint32_t opt_l = value->ToObject()->Get(v8::String::New("length"))->ToObject()->Uint32Value();
                                                                             ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:130:77: error: 'New' is not a member of 'v8::String'
  forEach = v8::Handle<v8::Function>::Cast(body->ToObject()->Get(v8::String::New("forEach")));
                                                                             ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:131:40: error: no match for 'operator=' (operand types are 'v8::Handle<v8::Value>' {aka 'v8::Local<v8::Value>'} and 'v8::Persistent<v8::Function>')
  argj[0] = uv8.jsgi_writer_func[core_id];
                                        ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:197:7: note: candidate: 'constexpr v8::Local<v8::Value>& v8::Local<v8::Value>::operator=(const v8::Local<v8::Value>&)'
 class Local {
       ^~~~~
/usr/include/nodejs/deps/v8/include/v8.h:197:7: note:   no known conversion for argument 1 from 'v8::Persistent<v8::Function>' to 'const v8::Local<v8::Value>&'
/usr/include/nodejs/deps/v8/include/v8.h:197:7: note: candidate: 'constexpr v8::Local<v8::Value>& v8::Local<v8::Value>::operator=(v8::Local<v8::Value>&&)'
/usr/include/nodejs/deps/v8/include/v8.h:197:7: note:   no known conversion for argument 1 from 'v8::Persistent<v8::Function>' to 'v8::Local<v8::Value>&&'
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:135:24: error: 'IdleNotification' is not a member of 'v8::V8'
         while(!v8::V8::IdleNotification()) {};
                        ^~~~~~~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc: In function 'v8::Persistent<v8::Function> uwsgi_v8_load_jsgi(int, char*)':
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:142:30: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::Context>'
         uv8.contexts[core_id]->Enter();
                              ^~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:143:25: error: 'v8::HandleScope::HandleScope()' is protected within this context
         v8::HandleScope handle_scope;
                         ^~~~~~~~~~~~
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:875:13: note: declared protected here
   V8_INLINE HandleScope() {}
             ^~~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:148:57: error: no matching function for call to 'v8::Object::New()'
         v8::Local<v8::Object> exports = v8::Object::New();
                                                         ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note: candidate: 'static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)'
   static Local<Object> New(Isolate* isolate);
                        ^~~
/usr/include/nodejs/deps/v8/include/v8.h:3491:24: note:   candidate expects 1 argument, 0 provided
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:149:22: error: 'GetCurrent' is not a member of 'v8::Context'
         v8::Context::GetCurrent()->Global()->Set(v8::String::New("exports"), exports);
                      ^~~~~~~~~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:149:62: error: 'New' is not a member of 'v8::String'
         v8::Context::GetCurrent()->Global()->Set(v8::String::New("exports"), exports);
                                                              ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:152:74: error: 'New' is not a member of 'v8::String'
         v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New(code), v8::String::New(filename) );
                                                                          ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:152:97: error: 'New' is not a member of 'v8::String'
         v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New(code), v8::String::New(filename) );
                                                                                                 ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:163:118: error: no matching function for call to 'v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))'
  uv8.jsgi_writer_func[core_id] = v8::Persistent<v8::Function>::New(v8::FunctionTemplate::New(uwsgi_v8_jsgi_body_chunk)->GetFunction());
                                                                                                                      ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note: candidate: 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior)'
   static Local<FunctionTemplate> New(
                                  ^~~
/usr/include/nodejs/deps/v8/include/v8.h:5445:34: note:   no known conversion for argument 1 from 'v8::Handle<v8::Value>(const int&)' {aka 'v8::Local<v8::Value>(const int&)'} to 'v8::Isolate*'
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:165:55: error: 'New' is not a member of 'v8::String'
  v8::Handle<v8::Value> app = exports->Get(v8::String::New("app"));
                                                       ^~~
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:172:80: error: no matching function for call to 'v8::Persistent<v8::Function>::New(v8::Local<v8::Function>)'
    return v8::Persistent<v8::Function>::New(v8::Handle<v8::Function>::Cast(app));
                                                                                ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:9167:4: note: candidate: 'static T* v8::PersistentBase<T>::New(v8::Isolate*, T*) [with T = v8::Function]'
 T* PersistentBase<T>::New(Isolate* isolate, T* that) {
    ^~~~~~~~~~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h:9167:4: note:   candidate expects 2 arguments, 1 provided
/usr/src/uwsgi/plugins/v8/v8_jsgi.cc:181:82: error: no matching function for call to 'v8::Persistent<v8::Function>::New(v8::Local<v8::Function>)'
   return v8::Persistent<v8::Function>::New(v8::Handle<v8::Function>::Cast(result));
                                                                                  ^
In file included from /usr/src/uwsgi/plugins/v8/v8_uwsgi.h:2,
                 from /usr/src/uwsgi/plugins/v8/v8_jsgi.cc:1:
/usr/include/nodejs/deps/v8/include/v8.h:9167:4: note: candidate: 'static T* v8::PersistentBase<T>::New(v8::Isolate*, T*) [with T = v8::Function]'
 T* PersistentBase<T>::New(Isolate* isolate, T* that) {
    ^~~~~~~~~~~~~~~~~
/usr/include/nodejs/deps/v8/include/v8.h:9167:4: note:   candidate expects 2 arguments, 1 provided
*** uWSGI building and linking plugin from /usr/src/uwsgi/plugins/v8 ***
[x86_64-linux-gnu-gcc -pthread] v8_plugin.so
*** unable to build v8 plugin ***

Since is quite unfortunate, since libv8 3.14 is quite old and is unlikely to be available in production environemts due to lack of attention for patching its potential security flaws. Specifically, that library not be included in the upcoming stable release of Debian. :-(

jonassmedegaard avatar Dec 27 '18 15:12 jonassmedegaard

I'd say just disable the plugin for debian, if nobody cared upstream pretty sure there's not much interest in debian.

xrmx avatar Dec 27 '18 15:12 xrmx

For Debian the plugin has already been isolated to gracefully be omitted without loosing all of uWSGI if this issue does not get addressed in time.

That said, I would very much appreciate this issue getting fixed properly: I consider this plugin valuable for production systems.

jonassmedegaard avatar Dec 27 '18 15:12 jonassmedegaard

hi @jonassmedegaard do you know of any company using it ? if someone is using it in production systems maybe we can ask for a sponsorship

unbit avatar Dec 27 '18 15:12 unbit

Sorry, I am not in touch with anyone with money to spare using uWSGI, company or not.

jonassmedegaard avatar Dec 27 '18 15:12 jonassmedegaard

whoops - sorry: I realize now that I filed this against the docs not the code project - should I re-file or can owners of these projects reassign?

jonassmedegaard avatar Dec 27 '18 15:12 jonassmedegaard

@jonassmedegaard not a problem, by the way, i do not know of anyone using the v8 plugin so unless @xrmx has some objection i think we can start deprecating it.

unbit avatar Dec 27 '18 15:12 unbit

oh - I am sad to hear that :-(

I have not yet had the need for it, but was hoping to soon explore uWSGI-based hosting of exciting stuff like https://solid.inrupt.com/ using that plugin.

jonassmedegaard avatar Dec 27 '18 15:12 jonassmedegaard

...and for far simpler projects as well - e.g. Leaflet maps slightly too complex to be served as static files.

jonassmedegaard avatar Dec 27 '18 15:12 jonassmedegaard

@jonassmedegaard regarding solid i think it requires the node api, v8 may not be enough

xrmx avatar Dec 28 '18 20:12 xrmx

Quoting Riccardo Magliocchetti (2018-12-28 21:11:18)

@jonassmedegaard regarding solid i think it requires the node api, v8 may not be enough

Yeah, that's right.

  • Jonas

--

  • Jonas Smedegaard - idealist & Internet-arkitekt
  • Tlf.: +45 40843136 Website: http://dr.jones.dk/

[x] quote me freely [ ] ask before reusing [ ] keep private

jonassmedegaard avatar Dec 28 '18 20:12 jonassmedegaard