Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Problems when installing on Ubuntu 18.04

Aperta
#2 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
javascript, node.js, ubuntu

Direzione di ricerca

Inizia riproducendo il problema con npm install, che esegue node-gyp rebuild, su Ubuntu 18.04, e leggi lib/bindings.cc insieme agli errori segnalati relativi a node-addon-api e agli header di Node. Il lavoro è completato quando l’addon nativo viene compilato correttamente e npm install termina per l’ambiente indicato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hi,

I installed
https://www.ubuntuupdates.org/package/core/bionic/universe/base/libhidapi-dev
https://www.ubuntuupdates.org/package/core/bionic/universe/base/libhidapi-hidraw0
https://www.ubuntuupdates.org/package/core/bionic/universe/base/libhidapi-libusb0

Trying to install dependency packages.

Then it throw an exception withe the message of can't find lblas on /user/bin/ld, i believe that was fixed with:

sudo apt-get install libblas-dev liblapack-dev

But now I'm getting this error (which it seem that you fixed here):
https://github.com/nodejs/node-addon-api/issues/173
and
https://github.com/dashersw/brain-bits/blob/master/lib/bindings.cc
, but it doesn't for me ).

npm install

> [email protected] install /home/a-user-name/Projects/testing/brain-bits
> node-gyp rebuild

make: Entering directory '/home/a-user-name/Projects/testing/brain-bits/build'
  SOLINK_MODULE(target) Release/obj.target/node_modules/node-addon-api/src/nothing.node
  COPY Release/nothing.node
  CXX(target) Release/obj.target/emotiv/lib/bindings.o
In file included from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:1449:0,
                 from ../lib/bindings.cc:7:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h: In member function ‘Napi::Value Napi::Function::MakeCallback(napi_value, size_t, napi_value__* const*) const’:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:1277:44: error: cannot convert ‘napi_value {aka napi_value__*}’ to ‘napi_async_context {aka napi_async_context__*}’ for argument ‘2’ to ‘napi_status napi_make_callback(napi_env, napi_async_context, napi_value, napi_value, size_t, napi_value__* const*, napi_value__**)’
     _env, recv, _value, argc, args, &result);
                                            ^
In file included from /usr/include/nodejs/src/node_api.h:15:0,
                 from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:4,
                 from ../lib/bindings.cc:7:
/usr/include/nodejs/src/node_api_types.h:14:16: note: class type ‘napi_value__’ is incomplete
 typedef struct napi_value__ *napi_value;
                ^~~~~~~~~~~~
In file included from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:1449:0,
                 from ../lib/bindings.cc:7:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h: In static member function ‘static void Napi::Error::Fatal(const char*, const char*)’:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:1484:37: error: invalid conversion from ‘const char*’ to ‘size_t {aka long unsigned int}’ [-fpermissive]
   napi_fatal_error(location, message);
                                     ^
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:1484:37: error: too few arguments to function ‘void napi_fatal_error(const char*, size_t, const char*, size_t)’
In file included from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:4:0,
                 from ../lib/bindings.cc:7:
/usr/include/nodejs/src/node_api.h:115:33: note: declared here
 NAPI_EXTERN NAPI_NO_RETURN void napi_fatal_error(const char* location,
                                 ^~~~~~~~~~~~~~~~
In file included from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:1449:0,
                 from ../lib/bindings.cc:7:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h: In member function ‘bool Napi::CallbackInfo::IsConstructCall() const’:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:2020:24: error: ‘napi_is_construct_call’ was not declared in this scope
   napi_status status = napi_is_construct_call(_env, _info, &isConstructCall);
                        ^~~~~~~~~~~~~~~~~~~~~~
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:2020:24: note: suggested alternative: ‘isConstructCall’
   napi_status status = napi_is_construct_call(_env, _info, &isConstructCall);
                        ^~~~~~~~~~~~~~~~~~~~~~
                        isConstructCall
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h: In static member function ‘static napi_value__* Napi::ObjectWrap<T>::ConstructorCallbackWrapper(napi_env, napi_callback_info)’:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:2474:24: error: there are no arguments to ‘napi_is_construct_call’ that depend on a template parameter, so a declaration of ‘napi_is_construct_call’ must be available [-fpermissive]
   napi_status status = napi_is_construct_call(env, info, &isConstructCall);
                        ^~~~~~~~~~~~~~~~~~~~~~
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:2474:24: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h: In constructor ‘Napi::AsyncWorker::AsyncWorker(const Napi::Object&, const Napi::Function&)’:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:2684:50: error: cannot convert ‘void (*)(napi_env, void*) {aka void (*)(napi_env__*, void*)}’ to ‘napi_value {aka napi_value__*}’ for argument ‘2’ to ‘napi_status napi_create_async_work(napi_env, napi_value, napi_value, napi_async_execute_callback, napi_async_complete_callback, void*, napi_async_work__**)’
     _env, OnExecute, OnWorkComplete, this, &_work);
                                                  ^
../lib/bindings.cc: In function ‘void Complete(napi_env, napi_status, void*)’:
../lib/bindings.cc:197:67: error: cannot convert ‘napi_value {aka napi_value__*}’ to ‘napi_async_context {aka napi_async_context__*}’ for argument ‘2’ to ‘napi_status napi_make_callback(napi_env, napi_async_context, napi_value, napi_value, size_t, napi_value__* const*, napi_value__**)’
     s = napi_make_callback(env, global, callback, 2, argv, &result);
                                                                   ^
In file included from /usr/include/nodejs/src/node_api.h:15:0,
                 from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:4,
                 from ../lib/bindings.cc:7:
/usr/include/nodejs/src/node_api_types.h:14:16: note: class type ‘napi_value__’ is incomplete
 typedef struct napi_value__ *napi_value;
                ^~~~~~~~~~~~
../lib/bindings.cc: In function ‘napi_value__* read(napi_env, napi_callback_info)’:
../lib/bindings.cc:224:96: error: cannot convert ‘void (*)(napi_env, void*) {aka void (*)(napi_env__*, void*)}’ to ‘napi_value {aka napi_value__*}’ for argument ‘2’ to ‘napi_status napi_create_async_work(napi_env, napi_value, napi_value, napi_async_execute_callback, napi_async_complete_callback, void*, napi_async_work__**)’
 create_async_work(env, Execute, Complete, &the_carrier, &the_carrier._request);
                                                                              ^
../lib/bindings.cc: In function ‘void CancelComplete(napi_env, napi_status, void*)’:
../lib/bindings.cc:256:74: error: cannot convert ‘napi_value {aka napi_value__*}’ to ‘napi_async_context {aka napi_async_context__*}’ for argument ‘2’ to ‘napi_status napi_make_callback(napi_env, napi_async_context, napi_value, napi_value, size_t, napi_value__* const*, napi_value__**)’
         s = napi_make_callback(env, global, callback, 0, nullptr, &result);
                                                                          ^
In file included from /usr/include/nodejs/src/node_api.h:15:0,
                 from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:4,
                 from ../lib/bindings.cc:7:
/usr/include/nodejs/src/node_api_types.h:14:16: note: class type ‘napi_value__’ is incomplete
 typedef struct napi_value__ *napi_value;
                ^~~~~~~~~~~~
../lib/bindings.cc: In function ‘napi_value__* TestCancel(napi_env, napi_callback_info)’:
../lib/bindings.cc:284:106: error: cannot convert ‘void (*)(napi_env, void*) {aka void (*)(napi_env__*, void*)}’ to ‘napi_value {aka napi_value__*}’ for argument ‘2’ to ‘napi_status napi_create_async_work(napi_env, napi_value, napi_value, napi_async_execute_callback, napi_async_complete_callback, void*, napi_async_work__**)’
             BusyCancelComplete, &async_carrier[i], &async_carrier[i]._request);
                                                                              ^
../lib/bindings.cc:298:98: error: cannot convert ‘void (*)(napi_env, void*) {aka void (*)(napi_env__*, void*)}’ to ‘napi_value {aka napi_value__*}’ for argument ‘2’ to ‘napi_status napi_create_async_work(napi_env, napi_value, napi_value, napi_async_execute_callback, napi_async_complete_callback, void*, napi_async_work__**)’
                 CancelComplete, &async_carrier[0], &async_carrier[0]._request);
                                                                              ^
In file included from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:4:0,
                 from ../lib/bindings.cc:7:
../lib/bindings.cc: At global scope:
/usr/include/nodejs/src/node_api.h:96:5: error: invalid conversion from ‘void (*)(napi_env, napi_value, napi_value, void*) {aka void (*)(napi_env__*, napi_value__*, napi_value__*, void*)}’ to ‘napi_addon_register_func {aka napi_value__* (*)(napi_env__*, napi_value__*)}’ [-fpermissive]
     };                                                                \
     ^
/usr/include/nodejs/src/node_api.h:103:3: note: in expansion of macro ‘NAPI_MODULE_X’
   NAPI_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../lib/bindings.cc:334:1: note: in expansion of macro ‘NAPI_MODULE’
 NAPI_MODULE(addon, Init)
 ^~~~~~~~~~~
In file included from /home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi.h:1449:0,
                 from ../lib/bindings.cc:7:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h: In static member function ‘static void Napi::Error::Fatal(const char*, const char*)’:
/home/a-user-name/Projects/testing/brain-bits/node_modules/node-addon-api/napi-inl.h:1485:1: warning: ‘noreturn’ function does return
 }
 ^
emotiv.target.mk:105: recipe for target 'Release/obj.target/emotiv/lib/bindings.o' failed
make: *** [Release/obj.target/emotiv/lib/bindings.o] Error 1
make: Leaving directory '/home/a-user-name/Projects/testing/brain-bits/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.15.0-45-generic
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/a-user-name/Projects/testing/brain-bits
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 

the same happens with your other project

I just bougth the emotiv but i can't make it work :(

Lingua principale
JavaScript
Stelle
187
Fork
23
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dashersw/brain-bits

Tutte le issue di dashersw/brain-bits

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.