NEWS
[gelöst] Canvas - compiled against a different Node.js vers,
-
Bookworm hab ich schon lange drauf und auch bis jetzt nie ein Problem gehabt.
auch canvas hat bis dato funktioniert.
erst seid dem letzten sudo apt update && full-upgrade hab ich dieses Problemich sehe du hast da schon node@23.5.0 am laufen
-
@diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
Bookworm hab ich schon lange drauf und auch bis jetzt nie ein Problem gehabt.
Es ist aber trotzdem nicht richtig installiert. Da läuft mindestens noch der Bullseye-Kernel.
So komische Fehler zeigen sich immer erst nach einiger Zeit. Das System fängt an sich merkwürdig zu verhalten.ich sehe du hast da schon node@23.5.0 am laufen
Ja, ist mein Bastelsystem. Das andere System läuft auf nodejs@20.
Bookworm-Kernel:echad@chet:~ $ uname -a Linux chet 6.6.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux
-
ja sieht bei mir so aus:
pi4b@pi4b:~$ uname -a Linux pi4b 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU
schau mal hier:
-
@thomas-braun sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
Ich zitiere mich selbst:
Und verwende nodejs@20.
-
@diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
6.1.21-v8+
Ist wie gesagt der falsche Kernel.
-
gibt es denn eine Möglichkeit, den Kernel zu tauschen ohne Neuinstallation? oder ist der Murks zu groß?
-
Mit viel Gebastel und ggfls. zweifelhaftem Ergebnis:
Wer es entgegen aller Warnungen versuchen möchte:
https://www.heise.de/hintergrund/Raspberry-Pi-OS-InPlace-Upgrade-von-Bullseye-auf-Bookworm-wagen-9999516.html -
ok...dann werd ich die Neu-Installation mal in Angriff nehmen demnächst... d.h. jetzt konkret der veraltete Kernel in Kombination mit nodjs@22 führt zu dem Problem?
-
Kann ich dir nicht sagen. Ich kann dir aber sagen, dass es auf meinem 'senkrechten' System auch mit nodejs@22 baut:
echad@chet:/opt/iobroker $ nodejs -v v22.12.0 echad@chet:/opt/iobroker $ iob add ecovacs-deebot --debug NPM version: 10.9.0 Installing iobroker.ecovacs-deebot@1.4.15... (System call) npm warn deprecated node-xmpp-tls-connect@1.0.1: this package is deprecated please use https://github.com/xmppjs/xmpp.js npm warn deprecated node-xmpp-core@5.0.9: this package is deprecated please use https://github.com/xmppjs/xmpp.js npm warn deprecated @xmldom/xmldom@0.9.0-beta.11: this version has critical issues, please update to the latest version npm warn deprecated node-xmpp-client@3.2.0: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client > canvas@2.10.2 install > node-pre-gyp install --fallback-to-build --update-binary node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@1.0.11 node-pre-gyp info using node@22.12.0 | linux | arm64 (node:129683) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz node-pre-gyp WARN Pre-built binaries not installable for canvas@2.10.2 and node@22.12.0 (node-v127 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@22.12.0 | linux | arm64 gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@22.12.0 | linux | arm64 gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3" gyp http GET https://nodejs.org/download/release/v22.12.0/node-v22.12.0-headers.tar.gz gyp http 200 https://nodejs.org/download/release/v22.12.0/node-v22.12.0-headers.tar.gz gyp http GET https://nodejs.org/download/release/v22.12.0/SHASUMS256.txt gyp http 200 https://nodejs.org/download/release/v22.12.0/SHASUMS256.txt gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.12.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.12.0', gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.12.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@22.12.0 | linux | arm64 gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Entering directory '/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas/build' SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/backend/Backend.o In file included from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-local-handle.h:13, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-array-buffer.h:12, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8.h:24, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/node.h:73, from ../../../../nan/nan.h:62, from ../src/backend/Backend.h:6, from ../src/backend/Backend.cc:1: In member function ‘bool v8::api_internal::IndirectHandleBase::IsEmpty() const’, inlined from ‘void v8::PersistentBase<T>::Reset() [with T = v8::Object]’ at /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-persistent-handle.h:469:20, inlined from ‘void v8::PersistentBase<T>::Reset(v8::Isolate*, const v8::Local<S>&) [with S = v8::Object; T = v8::Object]’ at /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-persistent-handle.h:482:8, inlined from ‘void Nan::Persistent<T, M>::Reset(const v8::Local<S>&) [with S = v8::Object; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>]’ at ../../../../nan/nan_persistent_12_inl.h:29:33, inlined from ‘void Nan::ObjectWrap::Wrap(v8::Local<v8::Object>)’ at ../../../../nan/nan_object_wrap.h:56:23, inlined from ‘static void Backend::init(const Nan::FunctionCallbackInfo<v8::Value>&)’ at ../src/backend/Backend.cc:23:16: /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-handle-base.h:56:43: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent<v8::Object> [0]’ [-Warray-bounds] 56 | V8_INLINE bool IsEmpty() const { return location_ == nullptr; } | ^~~~~~~~~ In member function ‘void v8::api_internal::IndirectHandleBase::Clear()’, inlined from ‘void v8::PersistentBase<T>::Reset() [with T = v8::Object]’ at /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-persistent-handle.h:471:14, inlined from ‘void v8::PersistentBase<T>::Reset(v8::Isolate*, const v8::Local<S>&) [with S = v8::Object; T = v8::Object]’ at /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-persistent-handle.h:482:8, inlined from ‘void Nan::Persistent<T, M>::Reset(const v8::Local<S>&) [with S = v8::Object; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>]’ at ../../../../nan/nan_persistent_12_inl.h:29:33, inlined from ‘void Nan::ObjectWrap::Wrap(v8::Local<v8::Object>)’ at ../../../../nan/nan_object_wrap.h:56:23, inlined from ‘static void Backend::init(const Nan::FunctionCallbackInfo<v8::Value>&)’ at ../src/backend/Backend.cc:23:16: /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-handle-base.h:59:38: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent<v8::Object> [0]’ [-Warray-bounds] 59 | V8_INLINE void Clear() { location_ = nullptr; } | ~~~~~~~~~~^~~~~~~~~ In file included from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-object.h:10, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-array-buffer.h:13: In member function ‘void v8::PersistentBase<T>::Reset(v8::Isolate*, const v8::Local<S>&) [with S = v8::Object; T = v8::Object]’, inlined from ‘void Nan::Persistent<T, M>::Reset(const v8::Local<S>&) [with S = v8::Object; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>]’ at ../../../../nan/nan_persistent_12_inl.h:29:33, inlined from ‘void Nan::ObjectWrap::Wrap(v8::Local<v8::Object>)’ at ../../../../nan/nan_object_wrap.h:56:23, inlined from ‘static void Backend::init(const Nan::FunctionCallbackInfo<v8::Value>&)’ at ../src/backend/Backend.cc:23:16: /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-persistent-handle.h:484:16: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent<v8::Object> [0]’ [-Warray-bounds] 484 | this->slot() = New(isolate, *other); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/canvas/src/backend/ImageBackend.o CXX(target) Release/obj.target/canvas/src/backend/PdfBackend.o CXX(target) Release/obj.target/canvas/src/backend/SvgBackend.o CXX(target) Release/obj.target/canvas/src/bmp/BMPParser.o CXX(target) Release/obj.target/canvas/src/Backends.o CXX(target) Release/obj.target/canvas/src/Canvas.o CXX(target) Release/obj.target/canvas/src/CanvasGradient.o CXX(target) Release/obj.target/canvas/src/CanvasPattern.o CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o ../src/CanvasRenderingContext2d.cc: In member function ‘void Context2d::setTextPath(double, double)’: ../src/CanvasRenderingContext2d.cc:2494:10: warning: enumeration value ‘TEXT_ALIGNMENT_LEFT’ not handled in switch [-Wswitch] 2494 | switch (state->textAlignment) { | ^ ../src/CanvasRenderingContext2d.cc:2494:10: warning: enumeration value ‘TEXT_ALIGNMENT_START’ not handled in switch [-Wswitch] CXX(target) Release/obj.target/canvas/src/closure.o CXX(target) Release/obj.target/canvas/src/color.o CXX(target) Release/obj.target/canvas/src/Image.o ../src/Image.cc: In member function ‘cairo_status_t Image::loadSVGFromBuffer(uint8_t*, unsigned int)’: ../src/Image.cc:1196:29: warning: ‘void rsvg_handle_get_dimensions(RsvgHandle*, RsvgDimensionData*)’ is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations] 1196 | rsvg_handle_get_dimensions(_rsvg, dims); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ In file included from ../src/Image.h:28, from ../src/Image.cc:3: /usr/include/librsvg-2.0/librsvg/rsvg.h:708:6: note: declared here 708 | void rsvg_handle_get_dimensions (RsvgHandle *handle, RsvgDimensionData *dimension_data); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/Image.cc: In member function ‘cairo_status_t Image::renderSVGToSurface()’: ../src/Image.cc:1235:48: warning: ‘gboolean rsvg_handle_render_cairo(RsvgHandle*, cairo_t*)’ is deprecated: Use 'rsvg_handle_render_document' instead [-Wdeprecated-declarations] 1235 | gboolean render_ok = rsvg_handle_render_cairo(_rsvg, cr); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ In file included from /usr/include/librsvg-2.0/librsvg/rsvg.h:1452: /usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:88:10: note: declared here 88 | gboolean rsvg_handle_render_cairo (RsvgHandle *handle, cairo_t *cr); | ^~~~~~~~~~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/canvas/src/ImageData.o CXX(target) Release/obj.target/canvas/src/init.o CXX(target) Release/obj.target/canvas/src/register_font.o SOLINK_MODULE(target) Release/obj.target/canvas.node COPY Release/canvas.node make: Leaving directory '/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas/build' gyp info ok node-pre-gyp info ok added 33 packages in 2m 230 packages are looking for funding run `npm fund` for details host.chet install adapter ecovacs-deebot upload [5] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/admin.d.ts admin.d.ts video/mp2t upload [4] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/ecovacs-deebot.png ecovacs-deebot.png image/png upload [3] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/index_m.html index_m.html text/html upload [2] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/jsonConfig.json jsonConfig.json application/json upload [1] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/style.css style.css text/css upload [0] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/words.js words.js application/javascript host.chet object system.adapter.ecovacs-deebot created/updated Updating objects from io-package.json for adapter "ecovacs-deebot" with version "1.4.15" host.chet create instance ecovacs-deebot host.chet object system.adapter.ecovacs-deebot.0.alive created host.chet object system.adapter.ecovacs-deebot.0.connected created host.chet object system.adapter.ecovacs-deebot.0.compactMode created host.chet object system.adapter.ecovacs-deebot.0.cpu created host.chet object system.adapter.ecovacs-deebot.0.cputime created host.chet object system.adapter.ecovacs-deebot.0.memHeapUsed created host.chet object system.adapter.ecovacs-deebot.0.memHeapTotal created host.chet object system.adapter.ecovacs-deebot.0.memRss created host.chet object system.adapter.ecovacs-deebot.0.uptime created host.chet object system.adapter.ecovacs-deebot.0.inputCount created host.chet object system.adapter.ecovacs-deebot.0.outputCount created host.chet object system.adapter.ecovacs-deebot.0.eventLoopLag created host.chet object system.adapter.ecovacs-deebot.0.sigKill created host.chet object system.adapter.ecovacs-deebot.0.logLevel created host.chet object ecovacs-deebot.0.info created host.chet object ecovacs-deebot.0.info.connection created host.chet object ecovacs-deebot.0 created host.chet Set default value of ecovacs-deebot.0.info.connection: false host.chet object system.adapter.ecovacs-deebot.0 created echad@chet:/opt/iobroker $ node -v v22.12.0 echad@chet:/opt/iobroker $ cd /opt/iobroker/ && npm ls canvas iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.echarts@1.9.5 │ ├── canvas@2.11.2 │ └─┬ jsdom@25.0.1 │ └── canvas@2.11.2 deduped ├─┬ iobroker.ecovacs-deebot@1.4.15 │ └─┬ ecovacs-deebot@0.9.6-beta.3 │ └── canvas@2.10.2 └─┬ iobroker.mihome-vacuum@4.2.0 └── canvas@2.11.2 deduped echad@chet:/opt/iobroker $
-
@thomas-braun said in [gelöst] Canvas - compiled against a different Node.js vers,:
wenn ich es manuell über die Konsole installiere, mit:
npm install canvas@2.10.2
dann gehts.
pi4b@pi4b:/opt/iobroker$ npm ls canvas iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.ecovacs-deebot@1.4.16-alpha.4 (git+ssh://git@github.com/mrbungle64/ ioBroker.ecovacs-deebot.git#22db1e39d24c855f6ae4eb567e8e9cdaa4ac2524) ├── canvas@2.10.2 └─┬ ecovacs-deebot@0.9.6-beta.7 └── canvas@2.10.2 deduped
-
Dann liegt es aber in der falschen Ebene.
Und dein System ist immer noch ein 'Bullsworm' -
@thomas-braun
Ich weiß, aber bis zur Neuinstallation noch soweit hinausgezögern. Ich hab den npm befehl unter npm-Modulen/iobroker.ecovacs-Deebot ausgeführt, sollte doch normal passen oder? -
Nein, richtig liegt es dort:
├─┬ iobroker.ecovacs-deebot@1.4.15 │ └─┬ ecovacs-deebot@0.9.6-beta.3 │ └── canvas@2.10.2
Bei die liegt es eine Ebene zu hoch. Die richtige Position ist jetzt 'deduped'
aber bis zur Neuinstallation noch soweit hinausgezögern.
Zöger es nicht länger hinaus. Spätestens mit einem Umzug auf Trixie / Debian 13 dürfte es dann richtig scheppern.
-
Hast du einen install Befehl für mich wie ich den in die richtige Ebene reingeklopft bekomm? Im Prinzip läuft soweit alles bis auf dieses canvas.
Wann ist denn der Release von Debian13? -
@diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
Wann ist denn der Release von Debian13?
Es ist fertig, wenn es fertig ist.
Vermutlich im nächsten Sommer.