josephdadams / TallyArbiter

The flexible and customizable camera tally light system
http://www.tallyarbiter.com
MIT License
287 stars 101 forks source link

trying to run tallyarbiter on raspberry pi 4 4gb npm install error #83

Closed MikeXtremeLED closed 3 years ago

MikeXtremeLED commented 3 years ago

Hii,

I am trying to install tally arbiter on my raspberry pi 4.

Here are the steps that ive made ( be carefull, i am a level 1 beginner raspberry pi user :) ; *installing the standard things sudo apt update

sudo apt install git

*then i am installing Nodejs wget https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-arm v7l.tar.xz

ls node-v14.16.1-linux-armv7l.tar.xz tar -xf node-v14.16.1-linux-armv7l.tar.xz ls node-v14.16.1-linux-armv7l node-v14.16.1-linux-armv7l.tar.xz cd node-v14.16.1-linux-armv7l/ :~/node-v14.16.1-linux-armv7l $ sudo cp -R * /usr/local/ /node-v14.16.1-linux-armv7l $ cd .. node -v v14.16.1 npm -v 6.14.12 ls node-v14.16.1-linux-armv7l node-v14.16.1-linux-armv7l.tar.xz rm -rf node-v14.16.1-linux-armv7l node-v14.16.1-linux-armv7l.tar.xz

sudo git clone https://github.com/josephdadams/tallyarbiter ls tallyarbiter cd tallyarbiter/ /tallyarbiter $ sudo npm install npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies.

@serialport/bindings@8.0.8 install /home/pi/tallyarbiter/node_modules/@serialport/bindings prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

prebuild-install WARN install EACCES: permission denied, access '/root/.npm' gyp WARN EACCES current user ("pi") does not have permission to access the dev dir "/root/.cache/node-gyp/14.16.1" gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/tallyarbiter/node_modules/@serialport/bindings/.node-gyp" gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/pi/tallyarbiter/node_modules/@serialport/bindings/.node-gyp' gyp ERR! System Linux 5.10.17-v7l+ gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/pi/tallyarbiter/node_modules/@serialport/bindings gyp ERR! node -v v14.16.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN TallyArbiter@1.5.9 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @serialport/bindings@8.0.8 (node_modules/@serialport/bindings): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @serialport/bindings@8.0.8 install: prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

added 180 packages from 136 contributors and audited 245 packages in 20.904s

7 packages are looking for funding run npm fund for details

found 1 moderate severity vulnerability run npm audit fix to fix them, or npm audit for details

*from that point i got a error that i am running a old version

What is the best thing to do for fixing this?

Thanksss

josephdadams commented 3 years ago

Try running sudo npm install --unsafe-perm instead

MikeXtremeLED commented 3 years ago

thankss,

is this a good sign? :)

pi@raspberrypi:~/tallyarbiter $ sudo npm install --unsafe-perm npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies.

@serialport/bindings@8.0.8 install /home/pi/tallyarbiter/node_modules/@serialport/bindings prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=14.16.1 runtime=node arch=arm libc= platform=linux) make: Entering directory '/home/pi/tallyarbiter/node_modules/@serialport/bindings/build' CXX(target) Release/obj.target/bindings/src/serialport.o ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local& v8str)) { ^ ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ In file included from ../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1: /root/.cache/node-gyp/14.16.1/include/node/node.h:758:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Local, v8::Local, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /root/.cache/node-gyp/14.16.1/include/node/node.h:792:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~ ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~ CXX(target) Release/obj.target/bindings/src/serialport_unix.o ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: ../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~ ../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);


../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’:
../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024
     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/bindings/src/poller.o
  CXX(target) Release/obj.target/bindings/src/serialport_linux.o
  SOLINK_MODULE(target) Release/obj.target/bindings.node
  COPY Release/bindings.node
make: Leaving directory '/home/pi/tallyarbiter/node_modules/@serialport/bindings/build'

> serialport@8.0.6 postinstall /home/pi/tallyarbiter/node_modules/serialport
> node thank-you.js

Thank you for using serialport!
If you rely on this package, please consider supporting our open collective:
> https://opencollective.com/serialport/donate

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN TallyArbiter@1.5.9 No repository field.

added 244 packages from 173 contributors and audited 245 packages in 40.743s

7 packages are looking for funding
  run `npm fund` for details

found 3 vulnerabilities (1 moderate, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details
pi@raspberrypi:~/tallyarbiter $
MikeXtremeLED commented 3 years ago

the only thing that i have when i run the tally arbiter it says that i cannot find the config file.

pi@raspberrypi:~/tallyarbiter $ node index.js [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Loading the stored Tally Arbiter configuration file. ### [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] The config file could not be found. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Source Setup Complete. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Initializing Device States. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Device States Initialized. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Setting up the REST API. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] REST API Setup Complete. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Starting socket.IO Setup. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Socket.IO Setup Complete. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Starting OSC Setup. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Starting VMix Emulation Service. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Starting HTTP Server. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] OSC Sending Port Ready. Broadcasting on Port: 5958 [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Finished VMix Emulation Setup. Listening for VMix Tally Connections on TCP Port 8099. [Mon May 10 2021 09:52:15 GMT+0100 (British Summer Time)] Tally Arbiter running on port 4455 [Mon May 10 2021 09:52:16 GMT+0100 (British Summer Time)] Listener Client Connected. Type: m5-stickc Device: Unassigned DeviceID: unassigned [Mon May 10 2021 09:52:16 GMT+0100 (British Summer Time)] Listener Client Connected. Type: m5-stickc Device: Unassigned DeviceID: unassigned

josephdadams commented 3 years ago

There is no config file until you set up your first source or device in TA. Then it is created.