NEWS
Probleme beim Upgrade
-
@integer63 legst du den user iobroker nicht im system an?
-
So, nachdem es immer schlimmer wurde (ist halt so, wenn man keine Ahnung hat), habe ich den Urzustand (Snapshot vom Master) wieder eingespielt - uff, wenigstens das hat funktioniert.
Jetzt werde ich wohl erst mal "aufräumen". Habe auch schon einen Adapter gefunden (SQL), den man hätte besser vorher auf eine Version heben müssen, die auch node 12 unterstützt. Gibt es eine Liste, welche Adapter Versionen man für node 12 benötigt?
-
@integer63
ich verstehe die Frage nicht .... wie kann man denn auf die Idee kommen nicht alles auf den neuesten Stand zu bringen? -
Es gibt Leute, die haben die Adapter auf default stehen... Wollen aber die neuen Features haben. Dann gibt es egtl nur eins: latest und basteln bzw lernen
-
@BBTown Ja, das habe wohl verdient. Aber nun habe ich alle Adapter, bei denen etwas von "node 12" steht, auf dem neuesten Stand und es ging wieder nicht
Ich weiß gar nicht wo ich anfangen soll zu suchen (und tut mir Leid, dass ihr euch immer wieder mit Anfängern rumärgern müsst):AR(target) Release/obj.target/deps/libmagic/magic.a COPY Release/magic.a CXX(target) Release/obj.target/magic/src/binding.o ../src/binding.cc:67:17: error: expected ‘)’ before ‘<’ token Magic(Handle<Object> buffer, int flags) { ^ ../src/binding.cc:387:28: error: ‘Handle’ has not been declared static void Initialize(Handle<Object> target) { ^~~~~~ ../src/binding.cc:387:34: error: expected ‘,’ or ‘...’ before ‘<’ token static void Initialize(Handle<Object> target) { ^ ../src/binding.cc: In static member function ‘static void Magic::New(const Nan::FunctionCallbackInfo<v8::Value>&)’: ../src/binding.cc:102:45: error: no matching function for call to ‘v8::Value::Int32Value()’ magic_flags = args[1]->Int32Value(); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2709:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const; ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided ../src/binding.cc:109:51: error: no matching function for call to ‘v8::Value::ToString()’ String::Utf8Value str(args[0]->ToString()); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided In file included from /root/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /root/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /root/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate: v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/binding.cc:113:60: error: no matching function for call to ‘Magic::Magic(v8::Local<v8::Object>, int&)’ obj = new Magic(args[0].As<Object>(), magic_flags); ^ ../src/binding.cc:50:5: note: candidate: Magic::Magic(const char*, int) Magic(const char* path, int flags) { ^~~~~ ../src/binding.cc:50:5: note: no known conversion for argument 1 from ‘v8::Local<v8::Object>’ to ‘const char*’ ../src/binding.cc:43:7: note: candidate: Magic::Magic(const Magic&) class Magic : public ObjectWrap { ^~~~~ ../src/binding.cc:43:7: note: candidate expects 1 argument, 2 provided ../src/binding.cc:115:45: error: no matching function for call to ‘v8::Value::Int32Value()’ magic_flags = args[0]->Int32Value(); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2709:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const; ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided ../src/binding.cc:117:67: error: no matching function for call to ‘v8::Value::BooleanValue()’ } else if (args[0]->IsBoolean() && !args[0]->BooleanValue()) { ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2699:8: note: candidate: bool v8::Value::BooleanValue(v8::Isolate*) const bool BooleanValue(Isolate* isolate) const; ^~~~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2699:8: note: candidate expects 1 argument, 0 provided In file included from /root/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /root/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /root/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2702:51: note: candidate: v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue( ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2702:51: note: candidate expects 1 argument, 0 provided V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue( ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/binding.cc: In static member function ‘static void Magic::DetectFile(const Nan::FunctionCallbackInfo<v8::Value>&)’: ../src/binding.cc:146:47: error: no matching function for call to ‘v8::Value::ToString()’ String::Utf8Value str(args[0]->ToString()); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided In file included from /root/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /root/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /root/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate: v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/binding.cc: In static member function ‘static void Magic::DetectAfter(uv_work_t*)’: ../src/binding.cc:314:38: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] baton->callback->Call(1, argv); ^ In file included from ../src/binding.cc:3:0: ../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/binding.cc:362:38: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] baton->callback->Call(2, argv); ^ In file included from ../src/binding.cc:3:0: ../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/binding.cc: In static member function ‘static void Magic::SetFallback(const Nan::FunctionCallbackInfo<v8::Value>&)’: ../src/binding.cc:377:32: error: no matching function for call to ‘v8::Value::ToString()’ && args[0]->ToString()->Length() > 0) { ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided In file included from /root/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /root/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /root/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate: v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/binding.cc:378:49: error: no matching function for call to ‘v8::Value::ToString()’ String::Utf8Value str(args[0]->ToString()); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided In file included from /root/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /root/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /root/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate: v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^ /root/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/binding.cc: In static member function ‘static void Magic::Initialize(int)’: ../src/binding.cc:396:42: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ constructor.Reset(tpl->GetFunction()); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:6126:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>) V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction( ^~~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided ../src/binding.cc:397:7: error: ‘target’ was not declared in this scope target->Set(Nan::New<String>("setFallback").ToLocalChecked(), ^~~~~~ ../src/binding.cc:398:72: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ Nan::New<FunctionTemplate>(SetFallback)->GetFunction()); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:6126:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>) V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction( ^~~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided ../src/binding.cc:400:80: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ target->Set(Nan::New<String>("Magic").ToLocalChecked(), tpl->GetFunction()); ^ In file included from /root/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../src/binding.cc:1: /root/.cache/node-gyp/12.16.3/include/node/v8.h:6126:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>) V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction( ^~~~~~~~~~~ /root/.cache/node-gyp/12.16.3/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided ../src/binding.cc: At global scope: ../src/binding.cc:405:13: error: variable or field ‘init’ declared void void init(Handle<Object> target) { ^~~~~~ ../src/binding.cc:405:13: error: ‘Handle’ was not declared in this scope ../src/binding.cc:405:26: error: expected primary-expression before ‘>’ token void init(Handle<Object> target) { ^ ../src/binding.cc:405:28: error: ‘target’ was not declared in this scope void init(Handle<Object> target) { ^~~~~~ In file included from ../src/binding.cc:1:0: ../src/binding.cc:410:22: error: ‘init’ was not declared in this scope NODE_MODULE(magic, init); ^ /root/.cache/node-gyp/12.16.3/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’ (node::addon_register_func) (regfunc), \ ^~~~~~~ ../src/binding.cc:410:3: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(magic, init); ^~~~~~~~~~~ magic.target.mk:122: die Regel für Ziel „Release/obj.target/magic/src/binding.o“ scheiterte make: *** [Release/obj.target/magic/src/binding.o] Fehler 1 make: Verzeichnis „/opt/iobroker/node_modules/mmmagic/build“ wird verlassen 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:310:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.9.0-8-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/mmmagic gyp ERR! node -v v12.16.3 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! mmmagic@0.5.2 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the mmmagic@0.5.2 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
-
@guergen Ich lerne es gerade auf die harte Tour ...
-
@integer63 Wie ich das mitbekomme hast Du doch ein Container-System....
Backup, IoBroker Backup separat und einen neuen Container mit den neusten Adaptern und dem neusten System!
Du kannst beim Containersystem ja immer wieder zurück!Wie gesagt: Am Besten ein neues sauberes System aufsetzen!
-
Danke fürs Verschieben - ich wollte das Unifi Thema nicht kapern, sorry.
Kurzes Update (wen es interessiert):
Nachdem ich das rebuild mit node 12 ja nicht hinbekommen habe, habe ich es einfach mal mit node 10 versucht. Und siehe da, es kamen zwar (wenn ich das so schnell richtig gesehen habe) die gleichen Fehler, aber der Rebuild Prozess ist nicht abgebrochen, sondern hat einfach weiter gemacht. Danach konnte ich den ioB auch wieder starten und alle Adapter laufen
Da ich ja nun auf beiden Systemen (Master/Slave) eine node Version am Laufen habe, die man für den js-controller 3.x verwenden kann (Master mit 10 und Slave mit 12), habe ich es auch gleich versucht ... und tada, es läuft!Danke für eure Unterstützung ...
-
@integer63 Mal 'ne doofe Frage von mir:
Wie gehst du denn bei einem Node update vor? Und auf welchem System?
Weil das eigentlich kein Hexenwerk ist, je nach System. -
auf welchem System:
PROXMOX Virtual Environment 5.4-13
Linux ioBrokerVMmaster 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linuxwie gehe ich vor (wie du schon sagst, es ist eigentlich ganz einfach):
cd /opt/iobroker
iobroker stop
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v (12 wird angezeigt)
curl -sL https://iobroker.net/fix.sh | bash - (sicher ist sicher)
npm rebuild ... und dann fangen die Probleme an - siehe logs oben ... -
node -v nodejs -v npm -v which node which nodejs which npm
Und augenscheinlich baut da ein Modul unter 'root'. Das ist schon mal Mist. Immer als einfacher user einloggen.
-
@Thomas-Braun Ja, ich gestehe, dass ich früher alles als root gemacht habe - aber es gab bis dato keinerlei Probleme (immerhin schon fast 3 1/2 Jahre; wie gesagt, wenn man keine Ahnung hat) Aber ab jetzt werde ich alles nur noch mit sudo machen.
thomas@ioBrokerVM1:~$ node -v
v12.16.3
thomas@ioBrokerVM1:~$ nodejs -v
v12.16.3
thomas@ioBrokerVM1:~$ npm -v
6.14.4
-> Abbruch beim Rebuildthomas@ioBrokerVMmaster:~$ node -v
v10.20.1
thomas@ioBrokerVMmaster:~$ nodejs -v
v10.20.1
thomas@ioBrokerVMmaster:~$ npm -v
6.14.4
-> Damit gab es dann keinen Abbruch mehrthomas@ioBrokerVM1:~$ which node
/usr/bin/node
thomas@ioBrokerVM1:~$ which nodejs
/usr/bin/nodejs
thomas@ioBrokerVM1:~$ which npm
/usr/bin/npmIch werde es noch mal als "thomas" versuchen (mit sudo) - muss ich noch etwas beachten? Muss der User "thomas" in der Gruppe iobroker sein? (hatte glaube ich mal sowas gelesen)
Ich lerne
-
@integer63 Der user 'thomas' sollte in der Gruppe 'sudo' wie auch in der Gruppe 'iobroker' sein.
Du kannst auch den berühmten Fixer mal über das System jagen. Der biegt auch einges, was da evtl. unter 'root' verfummelt wurde wieder gerade. -
@Thomas-Braun Ok, danke (den Fixer habe ich schon x-mal drüber laufen lassen)
-
@integer63
Da müsste man mal den gesamten Konsolenoutput sehen.
Bitte inkl. login prompt.groups
als user liefert?