Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install on RaspberryPi Fails #68

Closed
coojames1010 opened this issue Jun 20, 2020 · 2 comments
Closed

Install on RaspberryPi Fails #68

coojames1010 opened this issue Jun 20, 2020 · 2 comments

Comments

@coojames1010
Copy link

coojames1010 commented Jun 20, 2020

Building the binaries on RaspberryPi fails. Am I doing something wrong?

root@raspberrypi:/home/coopertech/test# sudo npm install node-snap7

> [email protected] install /home/coopertech/test/node_modules/node-snap7
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=12.18.1 runtime=node arch=arm libc= platform=linux)
make: Entering directory '/home/coopertech/test/node_modules/node-snap7/build'
  CXX(target) Release/obj.target/snap7/deps/snap7/src/sys/snap_msgsock.o
  CXX(target) Release/obj.target/snap7/deps/snap7/src/sys/snap_sysutils.o
  CXX(target) Release/obj.target/snap7/deps/snap7/src/sys/snap_tcpsrvr.o
../deps/snap7/src/sys/snap_tcpsrvr.cpp: In member function ‘int TCustomMsgServer::StartTo(const char*, word)’:
../deps/snap7/src/sys/snap_tcpsrvr.cpp:429:12: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 16 equals destination size [-Wstringop-truncation]
     strncpy(FLocalAddress, Address, 16);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/snap7/deps/snap7/src/sys/snap_threads.o
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_client.o
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_isotcp.o
../deps/snap7/src/core/s7_isotcp.cpp: In member function ‘int TIsoTcpSocket::IsoConfirmConnection(u_char)’:
../deps/snap7/src/core/s7_isotcp.cpp:163:10: warning: variable ‘TempRef’ set but not used [-Wunused-but-set-variable]
  u_short TempRef;
          ^~~~~~~
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_partner.o
../deps/snap7/src/core/s7_partner.cpp: In member function ‘int TConnectionServer::StartTo(const char*)’:
../deps/snap7/src/core/s7_partner.cpp:252:12: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 16 equals destination size [-Wstringop-truncation]
     strncpy(FLocalAddress,Address,16);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_peer.o
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_server.o
../deps/snap7/src/core/s7_server.cpp: In member function ‘byte TS7Worker::WriteArea(PReqFunWriteDataItem, PReqFunWriteItem, TEv&)’:
../deps/snap7/src/core/s7_server.cpp:626:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if ((ReqItemPar->Area==S7AreaTM) ^ (ReqItemPar->TransportSize==S7WLTimer))
     ^~
../deps/snap7/src/core/s7_server.cpp:629:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  if ((ReqItemPar->Area==S7AreaCT) ^ (ReqItemPar->TransportSize==S7WLCounter))
  ^~
../deps/snap7/src/core/s7_server.cpp: In member function ‘void TS7Worker::SZLSystemState()’:
../deps/snap7/src/core/s7_server.cpp:1247:11: warning: ‘void* memcpy(void*, const void*, size_t)’ forming offset [5, 6] is out of the bounds [0, 4] of object ‘SZLNotAvail’ with type ‘byte [4]’ {aka ‘unsigned char [4]’} [-Warray-bounds]
     memcpy(SZL.ResData,&SZLNotAvail,sizeof(SZLSysState));
     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../deps/snap7/src/core/s7_server.cpp:27:
../deps/snap7/src/core/s7_firmware.h:36:8: note: ‘SZLNotAvail’ declared here
   byte SZLNotAvail[4] = {
        ^~~~~~~~~~~
../deps/snap7/src/core/s7_server.cpp: In member function ‘word TS7Worker::ReadArea(PResFunReadItem, PReqFunReadItem, int&, TEv&)’:
../deps/snap7/src/core/s7_server.cpp:454:42: warning: ‘BitIndex’ may be used uninitialized in this function [-Wmaybe-uninitialized]
           if ((ByteVal & BitMask[BitIndex])!=0)
                          ~~~~~~~~~~~~~~~~^
../deps/snap7/src/core/s7_server.cpp: In member function ‘byte TS7Worker::WriteArea(PReqFunWriteDataItem, PReqFunWriteItem, TEv&)’:
../deps/snap7/src/core/s7_server.cpp:598:7: warning: ‘BitIndex’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  byte BitIndex;
       ^~~~~~~~
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_text.o
../deps/snap7/src/core/s7_text.cpp: In function ‘char* EvtSrvText(TSrvEvent&, char*, int)’:
../deps/snap7/src/core/s7_text.cpp:782:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
     else
     ^~~~
../deps/snap7/src/core/s7_text.cpp:785:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
  strncpy(Result, S, TextLen);
  ^~~~~~~
  CXX(target) Release/obj.target/snap7/deps/snap7/src/core/s7_micro_client.o
../deps/snap7/src/core/s7_micro_client.cpp: In member function ‘void TSnap7MicroClient::SetConnectionParams(const char*, word, word)’:
../deps/snap7/src/core/s7_micro_client.cpp:2675:13: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 16 equals destination size [-Wstringop-truncation]
      strncpy(RemoteAddress, RemAddress, 16);
      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/snap7/src/core/s7_micro_client.cpp: In member function ‘int TSnap7MicroClient::SetSessionPassword(char*)’:
../deps/snap7/src/core/s7_micro_client.cpp:3306:16: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
         strncpy((char*)&opData,Password,L);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/snap7/src/core/s7_micro_client.cpp:3298:26: note: length computed here
         size_t L = strlen(Password);
                    ~~~~~~^~~~~~~~~~
  CXX(target) Release/obj.target/snap7/deps/snap7/src/lib/snap7_libmain.o
  AR(target) Release/obj.target/snap7.a
  COPY Release/snap7.a
  CXX(target) Release/obj.target/node_snap7/src/node_snap7.o
In file included from ../src/node_snap7_client.h:11,
                 from ../src/node_snap7.cpp:6:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from ../src/node_snap7_client.h:10,
                 from ../src/node_snap7.cpp:6:
../src/node_snap7.cpp: At global scope:
/root/.cache/node-gyp/12.18.1/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/root/.cache/node-gyp/12.18.1/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/node_snap7.cpp:16:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(node_snap7, InitAll)
 ^~~~~~~~~~~
  CXX(target) Release/obj.target/node_snap7/src/node_snap7_client.o
In file included from ../src/node_snap7_client.h:11,
                 from ../src/node_snap7_client.cpp:6:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
  CXX(target) Release/obj.target/node_snap7/src/node_snap7_server.o
In file included from ../src/node_snap7_server.h:12,
                 from ../src/node_snap7_server.cpp:6:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: 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]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
../src/node_snap7_server.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE node_snap7::S7Server::RWBufferCallback(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/node_snap7_server.cpp:721:56: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
     if (node::Buffer::Length(info[0].As<v8::Object>()) < size) {
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
  CXX(target) Release/obj.target/node_snap7/src/snap7.o
  SOLINK_MODULE(target) Release/obj.target/node_snap7.node
  COPY Release/node_snap7.node
make: Leaving directory '/home/coopertech/test/node_modules/node-snap7/build'
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

+ [email protected]
added 64 packages from 44 contributors and audited 64 packages in 34.889s

1 package is looking for funding
  run `npm fund` for details

found 0 vulnerabilities
@mathiask88
Copy link
Owner

Actually the build does not fail. These are notes and warnings. Most of them in dependencies and probably nothing to worry about. So you should be able to use this lib.

@coojames1010
Copy link
Author

You are correct. I had another issue that was causing my code to fail. It's running perfectly now on the RaspberryPi. Thank you for the work you've put into this library!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants