Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Problems when installing on Ubuntu 18.04

Đang mở
#2 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
javascript, node.js, ubuntu
Lĩnh vực
backend, build-system

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện lỗi với npm install, lệnh chạy node-gyp rebuild, trên Ubuntu 18.04, và đọc lib/bindings.cc cùng với các lỗi đã báo cáo liên quan đến node-addon-api và các header của Node. Được xem là hoàn tất khi native addon build thành công và npm install hoàn tất trong môi trường được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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 :(

Ngôn ngữ chính
JavaScript
Star
187
Fork
23
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dashersw/brain-bits

Tất cả issue của dashersw/brain-bits

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.