NEWS
Neue Installationsroutine (für Linux)
-
-
@apollon77 @debianatoe
Probier es aus. Ich hab keine Ahnung und bisher nicht davon gehört. -
@apollon77 Ich denke eher nicht.
die CCU baut auf buildroot auf - wenn ich mich richtig erinnere hat sich Jens Maus da schon dran versucht -
@Homoran Ja, die CCU baut auf buildroot auf. Aber buildroot läßt sich sehr variabel konfigurieren. Insofern wäre es denkbar, daß sich ein spezielles iobroker-buildroot, das mit dem CCU-buildroot nur wenig gemeinsam hat, bauen ließe. Wenn sich allerdings Jens Maus daran schon vergeblich (?) versucht hat, klingt das nach erheblichem Aufwand ...
Da wäre aus meiner Sicht ein iobroker-Installationsprofi gefragt, der genau weiß, welche Betriebssystem- und library-Bedingungen Voraussetzung sind. -
@debianatoe Am Ende stht alles im install.sh drin was auf Github steht ... alles ws fehlt wird nachinstalliert aktuell per apt oder yum
-
@apollon77 sagte in Neue Installationsroutine (für Linux):
alles ws fehlt wird nachinstalliert
Das bezieht sich aber auf das, was wir von "normalen" Linux-Systemen kennen und wissen. Ggf muss bei buildroot noch mehr installiert werden.
-
@AlCalzone sagte in Neue Installationsroutine (für Linux):
@apollon77 sagte in Neue Installationsroutine (für Linux):
alles ws fehlt wird nachinstalliert
Das bezieht sich aber auf das, was wir von "normalen" Linux-Systemen kennen und wissen. Ggf muss bei buildroot noch mehr installiert werden.
So ist es leider. Im buildroot-Linux gibt es meines Wissens nach weder apt noch yum. Deshalb kann install.sh in dieser Form leider nicht funktionieren bzw. alles, was fehlt, nachinstallieren. Stand jetzt wäre das eine Menge Handarbeit.
-
@debianatoe Wie installiert man dann auf buildroot einen Package-Manager?
Wenn du die nötigen Schritte ermitteln kannst, was zusätzlich nötig ist, lässt sich das sicher in den Installer einbauen. -
@AlCalzone Also da bin ich leider überfragt.
-
Können die folgenden Warnings bei der Installation auf Ubuntu 20.10, 20.04 oder Debian 10 ignoriert werden?
In file included from ../../nan/nan.h:56, from ../src/main.cpp:3: /root/.cache/node-gyp/10.23.0/include/node/node.h:573:43: warning: cast between incompatible function types from '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/10.23.0/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X' NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/main.cpp:42:1: note: in expansion of macro 'NODE_MODULE' NODE_MODULE(diskusage, Init) ^~~~~~~~~~~ In file included from /root/.cache/node-gyp/10.23.0/include/node/node.h:63, from ../../nan/nan.h:56, from ../src/main.cpp:3: /root/.cache/node-gyp/10.23.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]': /root/.cache/node-gyp/10.23.0/include/node/node_object_wrap.h:84:78: required from here /root/.cache/node-gyp/10.23.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<node::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /root/.cache/node-gyp/10.23.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]': ../../nan/nan_object_wrap.h:65:61: required from here /root/.cache/node-gyp/10.23.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type] In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /root/.cache/node-gyp/10.23.0/include/node/node.h:573:43: warning: cast between incompatible function types from '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/10.23.0/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X' NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE' NODE_MODULE(unix_dgram, Initialize) ^~~~~~~~~~~ In file included from /root/.cache/node-gyp/10.23.0/include/node/node.h:63, from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /root/.cache/node-gyp/10.23.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]': /root/.cache/node-gyp/10.23.0/include/node/node_object_wrap.h:84:78: required from here /root/.cache/node-gyp/10.23.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<node::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /root/.cache/node-gyp/10.23.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]': ../../nan/nan_object_wrap.h:65:61: required from here /root/.cache/node-gyp/10.23.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
-
@xadox ich denke ja, aber leider hast du die Ursache für die Warnings abgeschnitten.
Es sit nur noch zu sehen, in welchen Teilen diese unbekannte Ursache auftritt -
@xadox Da läuft was mit den Usern falsch. Nie als root anmelden! Immer einen normalen User verwenden!
In /root/.cache/ darf eigentlich nichts passieren. -
@Thomas-Braun Das wird es dann wohl sein. Da ich auf einer LXC installiere.
Dort ist man im default ja erstmal mit "root" unterwegs.
ich werde dann mal einen neuen User erzeugen und es erneut versuchen.@Homoran viel abgeschnitten habe ich dort eigentlich nicht:
-
@xadox
Container... Ich mag die Dinger nicht. Jedenfalls nicht für den Einsatz als Ersatz für eine VM. Dafür sind die eigentlich nicht vorgesehen.Davon abgesehen sind die Meldungen während der Installation aber grundsätzlich wohl in Ordnung.
Am Rande: Bitte Konsolentexte auch als TEXT (in CodeTags) ins Forum kopieren. Screenshots von Text sind komplett sinnfrei.
-
Ich habe nun einen neuen User erzeugt "service" und habe diesen den sudoern hinzugefügt.
Angemeldet dann über SSH mit dem neu erzeugten User "service". Dennoch erhalte ich:========================================================================== Installing ioBroker (3/4) ========================================================================== In file included from ../../nan/nan.h:56, from ../src/main.cpp:3: /home/service/.cache/node-gyp/12.20.0/include/node/node.h:737:7: warning: cast between incompatible function ty pes from 'void (*)(v8::Local<v8::Object>)' to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type] 737 | (node::addon_register_func) (regfunc), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/service/.cache/node-gyp/12.20.0/include/node/node.h:771:3: note: in expansion of macro 'NODE_MODULE_X' 771 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/main.cpp:42:1: note: in expansion of macro 'NODE_MODULE' 42 | NODE_MODULE(diskusage, Init) | ^~~~~~~~~~~ In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /home/service/.cache/node-gyp/12.20.0/include/node/node.h:737:7: warning: cast between incompatible function ty pes from 'void (*)(v8::Local<v8::Object>)' to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type] 737 | (node::addon_register_func) (regfunc), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/service/.cache/node-gyp/12.20.0/include/node/node.h:771:3: note: in expansion of macro 'NODE_MODULE_X' 771 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE' 404 | NODE_MODULE(unix_dgram, Initialize) | ^~~~~~~~~~~ ATTENTION: Error reporting via Sentry will be activated on next start of ioBroker
-
@xadox Alles prima. Was soll da nicht passen?
-
@Thomas-Braun Das war ja meine Frage. ioBroker ist über Webinterface erreichbar.
Ich konnte nur nicht beurteilen ob die ausgegebenen Warnungen wärend der Installation Folgen haben. -
Ich habe das Setup nun auch auf einem PI3 mit Raspbian probiert und hier kommt zu noch mehr Warnungen bzw. Hinweisen:
Directory /opt/iobroker created ========================================================================== Installing ioBroker (3/4) ========================================================================== In file included from ../../nan/nan.h:56, from ../src/main.cpp:3: /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:737:43: warning: cast between incompatible function types from ‘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), \ ^ /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:771:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/main.cpp:42:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(diskusage, Init) ^~~~~~~~~~~ In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:737:43: warning: cast between incompatible function types from ‘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), \ ^ /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:771:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(unix_dgram, Initialize) ^~~~~~~~~~~ ../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<v8::String>& 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: /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:737: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), \ ^ /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:771: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); ^~~~~~~~~~~ ../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); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ATTENTION: Error reporting via Sentry will be activated on next start of ioBroker
-
@xadox Alles nix besonderes.
-
ich habe eine neue VM unter Proxmox mit Debian 10.6 mit dem User pi erstellt, mit welchem ich analog zu Mic´s Anleitung dann nodejs v12.20 installiert habe.
Installation verlief auch ohne irgendeine Fehlermeldung, weshalb ich bis hier von einem "sauberen" System ausgehe.
pi@ioBroker3:~$ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs && who -r && whoami /usr/bin/nodejs v12.20.0 /usr/bin/node v12.20.0 /usr/bin/npm 6.14.10 nodejs: Installiert: 12.20.0-1nodesource1 Installationskandidat: 12.20.0-1nodesource1 Versionstabelle: *** 12.20.0-1nodesource1 500 500 https://deb.nodesource.com/node_12.x buster/main amd64 Packages 100 /var/lib/dpkg/status 10.21.0~dfsg-1~deb10u1 500 500 http://deb.debian.org/debian buster/main amd64 Packages 500 http://security.debian.org/debian-security buster/updates/main amd64 Packages Runlevel 5 2020-12-20 13:50 pi
Trotzdem bekomme ich beim anschließenden Installieren von ioBroker folgenden Fehler:
========================================================================== Installing ioBroker (3/4) ========================================================================== In file included from ../../nan/nan.h:56, from ../src/main.cpp:3: /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:737:43: warning: cast between incompatible function types from ‘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), \ ^ /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:771:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/main.cpp:42:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(diskusage, Init) ^~~~~~~~~~~ In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:737:43: warning: cast between incompatible function types from ‘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), \ ^ /home/pi/.cache/node-gyp/12.20.0/include/node/node.h:771:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(unix_dgram, Initialize) ^~~~~~~~~~~ ATTENTION: Error reporting via Sentry will be activated on next start of ioBroker ioBroker wants to make sure to deliver the most stable smart home system.
Ja, es heißt dann zwar ioBroker was installed successfully und ich kann die Installation per Browser erreichen, aber beim restore mit Backitup kommen zig node-gyp und authenticate_pam.cc Fehler, wie auf meinem Produktivsystem. (weshalb ich es umziehen möchte).
Beispielsweise:
Update vis from @1.3.4 to @1.3.6 NPM version: 6.14.8 npm install iobroker.vis@1.3.6 --loglevel error --prefix "/opt/iobroker" (System call) ../authenticate_pam.cc: In function ‘void after_doing_auth(uv_work_t*, int)’:../authenticate_pam.cc:107:87: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(m->callback), 1, args); ^In file included from ../authenticate_pam.cc:23:0:../../nan/nan.h:1026:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../authenticate_pam.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Authenticate(Nan::NAN_METHOD_ARGS_TYPE)’:../authenticate_pam.cc:147:83: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked()); ^In file included from /home/iobroker/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:3553:51: note: declared here V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key)); ^/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../authenticate_pam.cc:150:69: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’ serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:67:0, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:152:69: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked()); ^In file included from /home/iobroker/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:3553:51: note: declared here V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key)); ^/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../authenticate_pam.cc:155:66: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’ remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:67:0, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc:160:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’ username->WriteUtf8(m->username, sizeof(m->username) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:67:0, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:161:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’ password->WriteUtf8(m->password, sizeof(m->password) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:67:0, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc: At global scope:../authenticate_pam.cc:170:11: error: variable or field ‘init’ declared void void init(Handle<Object> exports) { ^~~~~~../authenticate_pam.cc:170:11: error: ‘Handle’ was not declared in this scope../authenticate_pam.cc:170:24: error: expected primary-expression before ‘>’ token void init(Handle<Object> exports) { ^../authenticate_pam.cc:170:26: error: ‘exports’ was not declared in this scope void init(Handle<Object> exports) { ^~~~~~~In file included from ../../nan/nan.h:56:0, from ../authenticate_pam.cc:23:../authenticate_pam.cc:175:31: error: ‘init’ was not declared in this scope NODE_MODULE(authenticate_pam, init); ^/home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’ (node::addon_register_func) (regfunc), \ ^~~~~~~../authenticate_pam.cc:175:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(authenticate_pam, init); ^~~~~~~~~~~ make: *** [Release/obj.target/authenticate_pam/authenticate_pam.o] Fehler 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)gyp ERR! stack at ChildProcess.emit (events.js:315:20)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.9.0-8-amd64gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/authenticate-pamgyp ERR! node -v v12.18.3gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok upload [3] vis.admin /opt/iobroker/node_modules/iobroker.vis/admin/words.js words.js application/javascript Adapter "system.adapter.vis.0" restarted.
Wie könnte ich eine Installation ohne Fehlermeldungen hinbekommen?