NEWS
js-controller 3.3 jetzt im STABLE!
-
gerade das update angestoßen, daher nun die Frage, ging da was schief bzw ist das relevant?
root@IoBroker:~# iob upgrade self Update js-controller from @3.3.21 to @3.3.22 NPM version: 6.14.15 npm install iobroker.js-controller@3.3.22 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) In file included from ../src/binding.cc:1: /home/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:787:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUN CTION_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/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/binding.cc:153:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(cpufeatures, init) ^~~~~~~~~~~
-
Nö, das ist normaler Output beim bauen von nodejs-Modulen.
-
@thomas-braun Wir werden es im Installer hinzufügen
-
Okay. Hab noch nicht geschaut wer da immer nach cmake ruft. Auf meinem System (Raspberrry 4 / 8 GB) ist es jedenfalls nicht drauf.
-
@thomas-braun Ein nerviges Modul node_modules/cpu-features ... https://github.com/mscdex/cpu-features/issues/1#issuecomment-930124519
-
Das kommt direkt aus der nodeJS-Runtime?
-
@thomas-braun Nee. ein npm Modul was dann irgend wo drin ist und dann in irgendeinam adapter benötigt wird nutzt cmake um seinen binären Teil zu "Builden" ... aber keiner braucht bisher cmake also ists in keinen build-essentials Paketen und nirgends sonst drin
-
Ja, cmake ist schon etwas 'exotisch'.
-
@thomas-braun Jupp. Ich glaube es kommt "zu uns" über ein npm modul wie ssh2 oder so was einige User im JavaScript Adapter nutzen
Der Installer/Fixer wird im Rahmen des Controller 4.0 Releases cmake mit als dep dazu bekommen und so überall installieren.
-
Gerade das Update auf die aktuellste Version gemacht.
Bekomme folgende Meldung angezeigt:hegse@Iobroker:~$ iobroker upgrade self Update js-controller from @3.3.21 to @3.3.22 NPM version: 6.14.15 npm install iobroker.js-controller@3.3.22 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) In file included from ../authenticate_pam.cc:23: ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../nan/nan.h:2294:7: 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] 2294 | , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../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] 107 | Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(m->callback), 1, args); | ^ In file included from ../authenticate_pam.cc:23: ../../nan/nan.h:1026:46: note: declared here 1026 | 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: error: no matching function for call to ‘v8::Array::Get(v8::Local<v8::String>)’ 147 | Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked()); | ^ In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’ 3717 | V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context, | ^~~ /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’ 3720 | V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context, | ^~~ /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided ../authenticate_pam.cc:150:30: error: cannot convert ‘char [128]’ to ‘v8::Isolate*’ 150 | serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1); | ~~~^~~~~~~~~~~ | | | char [128] In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3037:26: note: initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ 3037 | int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, | ~~~~~~~~~^~~~~~~ ../authenticate_pam.cc:152:69: error: no matching function for call to ‘v8::Array::Get(v8::Local<v8::String>)’ 152 | res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked()); | ^ In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’ 3717 | V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context, | ^~~ /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’ 3720 | V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context, | ^~~ /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided ../authenticate_pam.cc:155:29: error: cannot convert ‘char [128]’ to ‘v8::Isolate*’ 155 | remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1); | ~~~^~~~~~~~~~ | | | char [128] In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3037:26: note: initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ 3037 | int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, | ~~~~~~~~~^~~~~~~ ../authenticate_pam.cc:160:25: error: cannot convert ‘char [128]’ to ‘v8::Isolate*’ 160 | username->WriteUtf8(m->username, sizeof(m->username) - 1); | ~~~^~~~~~~~ | | | char [128] In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3037:26: note: initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ 3037 | int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, | ~~~~~~~~~^~~~~~~ ../authenticate_pam.cc:161:25: error: cannot convert ‘char [128]’ to ‘v8::Isolate*’ 161 | password->WriteUtf8(m->password, sizeof(m->password) - 1); | ~~~^~~~~~~~ | | | char [128] In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67, from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3037:26: note: initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ 3037 | int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, | ~~~~~~~~~^~~~~~~ ../authenticate_pam.cc: At global scope: ../authenticate_pam.cc:170:6: error: variable or field ‘init’ declared void 170 | void init(Handle<Object> exports) { | ^~~~ ../authenticate_pam.cc:170:11: error: ‘Handle’ was not declared in this scope 170 | void init(Handle<Object> exports) { | ^~~~~~ ../authenticate_pam.cc:170:24: error: expected primary-expression before ‘>’ token 170 | void init(Handle<Object> exports) { | ^ ../authenticate_pam.cc:170:26: error: ‘exports’ was not declared in this scope 170 | void init(Handle<Object> exports) { | ^~~~~~~ In file included from ../../nan/nan.h:56, from ../authenticate_pam.cc:23: ../authenticate_pam.cc:175:31: error: ‘init’ was not declared in this scope; did you mean ‘int’? 175 | NODE_MODULE(authenticate_pam, init); | ^~~~ /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:787:36: note: in definition of macro ‘NODE_MODULE_X’ 787 | (node::addon_register_func) (regfunc), \ | ^~~~~~~ ../authenticate_pam.cc:175:1: note: in expansion of macro ‘NODE_MODULE’ 175 | NODE_MODULE(authenticate_pam, init); | ^~~~~~~~~~~ make: *** [authenticate_pam.target.mk:111: Release/obj.target/authenticate_pam/authenticate_pam.o] Fehler 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp 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:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12) gyp ERR! System Linux 5.10.0-9-amd64 gyp 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-pam gyp ERR! node -v v14.18.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok
Soweit läuft alles nach dem Update.
-
@hegse
Ist da zufällig der Adapter terminal installiert? Dann schmeiß den raus. -
@thomas-braun ja der ist installiert.
Alles klar, dann schmeiß ich den mal raus. Besten Dank! -
Hallo zusammen, ist die Liste der inkompatiblen Adapter am Thread-Anfang immer noch aktuell? Ich habe inzwischen leider das Problem, dass 3-4 meiner Adapter auf dieser Liste stehen, aber andere Adapter das Upgrade voraussetzen um auf den aktuellen Stand aufzurüsten.
-
@blueessi Die Aussage geht anders rum: Folgende Adapter müssen aktualisiert werden weil sie in den damals aktuellen Versionen nicht vollständig kompatibel waren.
Das hat mit "eine neue version des Adapters braucht bitte js.cotnroller in Version X" nichts zu tun. Das soll verhindern das Du dir dein System kaputt machst
-
@apollon77 Das beantwortet leider nicht meine Frage. Wie bekomme ich raus, ob meine benötigten Adapter mit 3.3 kompatibel sind?
-
@blueessi
Im stable-Repo alles auf Stand bringen. -
@blueessi Wenn Du so rum fragst ist die obige Liste und Infos in diesem Thread (falls wir welche vergessen haben zu adden) aktuell und exakt wie @Thomas-Braun sagt: Wenn alles in Stable aktuell ist - oder du die adapter die du wegen "Zu altem js-controller" nicht updaten kannst gemerkt sind und gleich als erstes nach dem update aktualisiert werden ... dann sollte das nach grobem Wissen passen
-
@apollon77 OK, danke. Es sieht so aus, dass ich mich wohl noch eine Weile gedulden muss um auf 3.3 hochrüsten zu können. Ich hoffe, die "alten" Adapter werden irgendwann überhaupt nachgezogen.
-
-
@blueessi naja wenn Du genau liesst ist das einzige was die alten Adapter ggf tun ist "Info" logging zu machen das was nicht stimmt ... ehrlich ... Loglevel hochsetzen in der Wartezeit und gut ... ich denke nicht das das vom Update abhalten sollte