Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. [gelöst] Canvas - compiled against a different Node.js vers,

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Canvas - compiled against a different Node.js vers,

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Diamand2k22 @Thomas Braun last edited by

      @thomas-braun

      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:

      https://github.com/Automattic/node-canvas/issues/2377

      hong6316 created this issue in Automattic/node-canvas

      closed npm intall not working on node v22 #2377

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Thomas Braun last edited by

        @thomas-braun sagte in [gelöst] Canvas - compiled against a different Node.js vers,:

        Ich zitiere mich selbst:

        Und verwende nodejs@20.

        1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @Diamand2k22 last edited by

          @diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:

          6.1.21-v8+

          Ist wie gesagt der falsche Kernel.

          D 1 Reply Last reply Reply Quote 0
          • D
            Diamand2k22 @Thomas Braun last edited by

            @thomas-braun

            gibt es denn eine Möglichkeit, den Kernel zu tauschen ohne Neuinstallation? oder ist der Murks zu groß?

            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @Diamand2k22 last edited by

              @diamand2k22

              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

              D 1 Reply Last reply Reply Quote 0
              • D
                Diamand2k22 @Thomas Braun last edited by

                @thomas-braun

                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?

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @Diamand2k22 last edited by

                  @diamand2k22

                  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 $ 
                  
                  1 Reply Last reply Reply Quote 0
                  • D
                    Diamand2k22 last edited by Diamand2k22

                    @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
                    
                    
                    Thomas Braun 1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @Diamand2k22 last edited by

                      @diamand2k22

                      Dann liegt es aber in der falschen Ebene.
                      Und dein System ist immer noch ein 'Bullsworm'

                      1 Reply Last reply Reply Quote 0
                      • D
                        Diamand2k22 last edited by

                        @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?

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @Diamand2k22 last edited by

                          @diamand2k22

                          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.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            Diamand2k22 @Thomas Braun last edited by

                            @thomas-braun

                            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?

                            Thomas Braun 1 Reply Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @Diamand2k22 last edited by

                              @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.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              729
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

                              4
                              103
                              7438
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo