grachev/node-lemmer

Node 0.12.x support

Opened this issue · 6 comments

Node-lemmer fails to compile under 0.12.

  CXX(target) Release/obj.target/node_lemmer/src/node-lemmer.o
../src/node-lemmer.cc:14:23: error: expected class name
class Lemmer : public ObjectWrap, public tl::lemmatizer {
                      ^
../src/node-lemmer.cc:42:36: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
    static Handle<Value> New(const Arguments& args) {
                                   ^~~~~~~~~
                                   v8::internal::Arguments
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../src/node-lemmer.cc:68:42: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
    static Handle<Value> Lemmatize(const Arguments& args) {
                                         ^~~~~~~~~
                                         v8::internal::Arguments
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../src/node-lemmer.cc:17:21: error: calling a protected constructor of class 'v8::HandleScope'
        HandleScope scope;
                    ^
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../src/node-lemmer.cc:18:59: error: cannot initialize a parameter of type 'v8::Isolate *' with an lvalue of type 'Handle<v8::Value> (const v8::internal::Arguments &)'
        Local<FunctionTemplate> t = FunctionTemplate::New(New);
                                                          ^~~
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:3456:16: note: passing argument to parameter 'isolate' here
      Isolate* isolate,
               ^
../src/node-lemmer.cc:21:54: error: address of overloaded function 'Lemmatize' does not match required type 'void (const v8::FunctionCallbackInfo<v8::Value> &)'
        NODE_SET_PROTOTYPE_METHOD(t, "lemmatizeEng", Lemmatize<english_utf8_adapter>);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/node-lemmer.cc:68:26: note: candidate template ignored: could not match 'Handle<v8::Value> (const v8::internal::Arguments &)' against
      'void (const v8::FunctionCallbackInfo<v8::Value> &)'
    static Handle<Value> Lemmatize(const Arguments& args) {
                         ^
/Users/robellis/.node-gyp/0.12.0/src/node.h:246:60: note: passing argument to parameter 'callback' here
                                      v8::FunctionCallback callback) {
                                                           ^
../src/node-lemmer.cc:22:54: error: address of overloaded function 'Lemmatize' does not match required type 'void (const v8::FunctionCallbackInfo<v8::Value> &)'
        NODE_SET_PROTOTYPE_METHOD(t, "lemmatizeRus", Lemmatize<russian_utf8_adapter>);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/node-lemmer.cc:68:26: note: candidate template ignored: could not match 'Handle<v8::Value> (const v8::internal::Arguments &)' against
      'void (const v8::FunctionCallbackInfo<v8::Value> &)'
    static Handle<Value> Lemmatize(const Arguments& args) {
                         ^
/Users/robellis/.node-gyp/0.12.0/src/node.h:246:60: note: passing argument to parameter 'callback' here
                                      v8::FunctionCallback callback) {
                                                           ^
../src/node-lemmer.cc:24:29: error: no member named 'NewSymbol' in 'v8::String'
        target->Set(String::NewSymbol("Lemmer"), t->GetFunction());
                    ~~~~~~~~^
../src/node-lemmer.cc:43:21: error: calling a protected constructor of class 'v8::HandleScope'
        HandleScope scope;
                    ^
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../src/node-lemmer.cc:45:18: error: member access into incomplete type 'const v8::internal::Arguments'
         if (args.Length() < 2 || !args[0]->IsString() || !args[1]->IsString())
                 ^
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
../src/node-lemmer.cc:46:56: error: no member named 'New' in 'v8::String'; did you mean simply 'New'?
            return ThrowException(Exception::TypeError(String::New("Wrong args")));
                                                       ^~~~~~~~~~~
                                                       New
../src/node-lemmer.cc:42:26: note: 'New' declared here
    static Handle<Value> New(const Arguments& args) {
                         ^
../src/node-lemmer.cc:46:68: error: reference to type 'const v8::internal::Arguments' could not bind to an lvalue of type 'const char [11]'
            return ThrowException(Exception::TypeError(String::New("Wrong args")));
                                                                   ^~~~~~~~~~~~
../src/node-lemmer.cc:42:47: note: passing argument to parameter 'args' here
    static Handle<Value> New(const Arguments& args) {
                                              ^
../src/node-lemmer.cc:48:39: error: type 'const v8::internal::Arguments' does not provide a subscript operator
        string dict = ToStdString(args[0]);
                                  ~~~~^~
../src/node-lemmer.cc:49:44: error: type 'const v8::internal::Arguments' does not provide a subscript operator
        string paradigms = ToStdString(args[1]);
                                       ~~~~^~
../src/node-lemmer.cc:51:17: error: member access into incomplete type 'const v8::internal::Arguments'
        if (args.Length() == 3 && args[2]->IsString())
                ^
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
../src/node-lemmer.cc:52:39: error: type 'const v8::internal::Arguments' does not provide a subscript operator
            predict = ToStdString(args[2]);
                                  ~~~~^~
../src/node-lemmer.cc:55:17: error: no member named 'Wrap' in 'Lemmer'
        lemmer->Wrap(args.This());
        ~~~~~~  ^
../src/node-lemmer.cc:55:26: error: member access into incomplete type 'const v8::internal::Arguments'
        lemmer->Wrap(args.This());
                         ^
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
../src/node-lemmer.cc:56:20: error: member access into incomplete type 'const v8::internal::Arguments'
        return args.This();
                   ^
/Users/robellis/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/node_lemmer/src/node-lemmer.o] Error 1

👍

+1

darky commented

I think @grachev not do it.
Need fork and do it yourself.

I am too busy right now to make this fix. If you have a patch, please send
it to me.

Thanks,
Roman

On 20 July 2015 at 18:11, Vladislav Botvin notifications@github.com wrote:

I think @grachev https://github.com/grachev not do it.
Need fork and do it yourself.


Reply to this email directly or view it on GitHub
#3 (comment).

Has the same issue.
@grachev Are there any capabilities to fix that?

Thanks.