Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Jeelink Adapter lässt sich nicht installieren

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    13
    1
    611

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.0k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    883

Jeelink Adapter lässt sich nicht installieren

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
19 Beiträge 5 Kommentatoren 1.3k Aufrufe 6 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Joshude

    @chrizzz ich hänge mich mal mit dran, ich habe genau das gleiche Problem.
    Ich glaube es hängt mit der nodejs Version zusammen. Ich hatte den Adapter unter 10.x installiert, hatte aber unplausible Werte und wollte daher auf 12.x upgraden. Unter 12.x läuft der Adapter in einer anderen Installation problemlos. Habe dann aus Versehen auf nodejs 14 geupdated und bekomme den Adapter nicht installiert, exakt das gleiche Bild wie bei dir.
    Vielleicht weiß @foxthefox ja noch was, außer wenn er länger nicht online war :(

    Thomas BraunT Online
    Thomas BraunT Online
    Thomas Braun
    Most Active
    schrieb am zuletzt editiert von
    #9

    @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

    Habe dann aus Versehen auf nodejs 14 geupdated

    Wenigstens aus Versehen dann sauber installiert?

    which nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
    

    Denn soweit ich weiß funktioniert der Adapter auch zusammen mit nodeJS14.

    Linux-Werkzeugkasten:
    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
    NodeJS Fixer Skript:
    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

    1 Antwort Letzte Antwort
    1
    • J Offline
      J Offline
      Joshude
      schrieb am zuletzt editiert von
      #10

      @thomas-braun said in Jeelink Adapter lässt sich nicht installieren:

      Wenigstens aus Versehen dann sauber installiert?

      which nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
      
      which nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
      /usr/bin/nodejs
      /usr/local/bin/node
      /usr/local/bin/npm
      v14.17.4
      v14.17.4
      7.20.5
      nodejs:
        Installed: 14.17.4-1nodesource1
        Candidate: 14.17.4-1nodesource1
        Version table:
       *** 14.17.4-1nodesource1 500
              500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
              100 /var/lib/dpkg/status
           12.22.4-1nodesource1 500
              500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
           10.24.1-1nodesource1 500
              500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
           10.24.0~dfsg-1~deb10u1 500
              500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
      

      Ich hoffe?! :) Oder bin ich irgendwo falsch abgebogen? Irgendwann war ich nämlich tatsächlich etwas ver(w)irrt.

      Thomas BraunT 1 Antwort Letzte Antwort
      0
      • J Joshude

        @thomas-braun said in Jeelink Adapter lässt sich nicht installieren:

        Wenigstens aus Versehen dann sauber installiert?

        which nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
        
        which nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
        /usr/bin/nodejs
        /usr/local/bin/node
        /usr/local/bin/npm
        v14.17.4
        v14.17.4
        7.20.5
        nodejs:
          Installed: 14.17.4-1nodesource1
          Candidate: 14.17.4-1nodesource1
          Version table:
         *** 14.17.4-1nodesource1 500
                500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
                100 /var/lib/dpkg/status
             12.22.4-1nodesource1 500
                500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
             10.24.1-1nodesource1 500
                500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
             10.24.0~dfsg-1~deb10u1 500
                500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
        

        Ich hoffe?! :) Oder bin ich irgendwo falsch abgebogen? Irgendwann war ich nämlich tatsächlich etwas ver(w)irrt.

        Thomas BraunT Online
        Thomas BraunT Online
        Thomas Braun
        Most Active
        schrieb am zuletzt editiert von
        #11

        @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

        Oder bin ich irgendwo falsch abgebogen?

        Ja, falsch abgebogen.
        Schau in meiner Signatur wie man den richtigen Weg wieder findet.

        Linux-Werkzeugkasten:
        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
        NodeJS Fixer Skript:
        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

        J 1 Antwort Letzte Antwort
        1
        • Thomas BraunT Thomas Braun

          @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

          Oder bin ich irgendwo falsch abgebogen?

          Ja, falsch abgebogen.
          Schau in meiner Signatur wie man den richtigen Weg wieder findet.

          J Offline
          J Offline
          Joshude
          schrieb am zuletzt editiert von
          #12

          @thomas-braun Den Link hab ich auch just gesehen und angeklickt. Kann ich das von meinem Stand aus jetzt "einfach" einmal durchgehen?

          Thomas BraunT 1 Antwort Letzte Antwort
          0
          • J Joshude

            @thomas-braun Den Link hab ich auch just gesehen und angeklickt. Kann ich das von meinem Stand aus jetzt "einfach" einmal durchgehen?

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            schrieb am zuletzt editiert von Thomas Braun
            #13

            @joshude
            Eigentlich ist genau dein Fall da erklärt. Siehe das zweite Posting im How-To.

            Dürfte im übrigen bei @ChrizZz zumindest ein ähnlicher Fehler im Setup von nodeJS sein.

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            J 1 Antwort Letzte Antwort
            0
            • Thomas BraunT Thomas Braun

              @joshude
              Eigentlich ist genau dein Fall da erklärt. Siehe das zweite Posting im How-To.

              Dürfte im übrigen bei @ChrizZz zumindest ein ähnlicher Fehler im Setup von nodeJS sein.

              J Offline
              J Offline
              Joshude
              schrieb am zuletzt editiert von
              #14

              @thomas-braun Danke, hab ich auch direkt nach meinem Post gesehen. Augen auf :)

              Leider bekomme ich den Adapter weiterhin nicht installiert:

              npm install --unsafe-perm iobroker.jeelink
              
              > @serialport/bindings@2.0.8 install /home/pi/node_modules/@serialport/bindings
              > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
              
              prebuild-install WARN install No prebuilt binaries found (target=14.17.4 runtime=node arch=arm libc= platform=linux)
              make: Entering directory '/home/pi/node_modules/@serialport/bindings/build'
                CXX(target) Release/obj.target/bindings/src/serialport.o
              ../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 ‘void EIO_AfterGet(uv_work_t*)’:
              ../src/serialport.cpp:329:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                   results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
                                                                                                              ^
              In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                               from ../../../nan/nan.h:58,
                               from ../src/./serialport.h:6,
                               from ../src/serialport.cpp:1:
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
              ../src/serialport.cpp:330:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                   results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
                                                                                                              ^
              In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                               from ../../../nan/nan.h:58,
                               from ../src/./serialport.h:6,
                               from ../src/serialport.cpp:1:
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
              ../src/serialport.cpp:331:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                   results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
                                                                                                              ^
              In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                               from ../../../nan/nan.h:58,
                               from ../src/./serialport.h:6,
                               from ../src/serialport.cpp:1:
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
              ../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 ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
              ../src/serialport.cpp:378:106: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::IntegerFactory<v8::Integer>::return_t)’
                   results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
                                                                                                                        ^
              In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                               from ../../../nan/nan.h:58,
                               from ../src/./serialport.h:6,
                               from ../src/serialport.cpp:1:
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                   ^~~
              /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
              ../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:58,
                               from ../src/./serialport.h:6,
                               from ../src/serialport.cpp:1:
              /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:758: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/14.17.4/include/node/node.h:792: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);
               ^~~~~~~~~~~
              make: *** [bindings.target.mk:112: Release/obj.target/bindings/src/serialport.o] Error 1
              make: Leaving directory '/home/pi/node_modules/@serialport/bindings/build'
              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:277:12)
              gyp ERR! System Linux 5.10.52-v7+
              gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
              gyp ERR! cwd /home/pi/node_modules/@serialport/bindings
              gyp ERR! node -v v14.17.4
              gyp ERR! node-gyp -v v5.1.0
              gyp ERR! not ok 
              npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
              npm WARN pi No description
              npm WARN pi No repository field.
              npm WARN pi No README data
              npm WARN pi No license field.
              
              npm ERR! code ELIFECYCLE
              npm ERR! errno 1
              npm ERR! @serialport/bindings@2.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
              npm ERR! Exit status 1
              npm ERR! 
              npm ERR! Failed at the @serialport/bindings@2.0.8 install script.
              npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
              
              npm ERR! A complete log of this run can be found in:
              npm ERR!     /home/pi/.npm/_logs/2021-08-11T13_37_57_009Z-debug.log
              

              Die Versionsabfrage liefert nun - ich glaube korrekterweise - folgendes:

              /usr/bin/nodejs
              /usr/bin/node
              /usr/bin/npm
              v14.17.4
              v14.17.4
              6.14.14
              
              
              Thomas BraunT 1 Antwort Letzte Antwort
              0
              • J Joshude

                @thomas-braun Danke, hab ich auch direkt nach meinem Post gesehen. Augen auf :)

                Leider bekomme ich den Adapter weiterhin nicht installiert:

                npm install --unsafe-perm iobroker.jeelink
                
                > @serialport/bindings@2.0.8 install /home/pi/node_modules/@serialport/bindings
                > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
                
                prebuild-install WARN install No prebuilt binaries found (target=14.17.4 runtime=node arch=arm libc= platform=linux)
                make: Entering directory '/home/pi/node_modules/@serialport/bindings/build'
                  CXX(target) Release/obj.target/bindings/src/serialport.o
                ../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 ‘void EIO_AfterGet(uv_work_t*)’:
                ../src/serialport.cpp:329:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                     results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
                                                                                                                ^
                In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                                 from ../../../nan/nan.h:58,
                                 from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                ../src/serialport.cpp:330:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                     results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
                                                                                                                ^
                In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                                 from ../../../nan/nan.h:58,
                                 from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                ../src/serialport.cpp:331:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                     results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
                                                                                                                ^
                In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                                 from ../../../nan/nan.h:58,
                                 from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                ../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 ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                ../src/serialport.cpp:378:106: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::IntegerFactory<v8::Integer>::return_t)’
                     results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
                                                                                                                          ^
                In file included from /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:67,
                                 from ../../../nan/nan.h:58,
                                 from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                     ^~~
                /home/pi/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                ../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:58,
                                 from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                /home/pi/.cache/node-gyp/14.17.4/include/node/node.h:758: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/14.17.4/include/node/node.h:792: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);
                 ^~~~~~~~~~~
                make: *** [bindings.target.mk:112: Release/obj.target/bindings/src/serialport.o] Error 1
                make: Leaving directory '/home/pi/node_modules/@serialport/bindings/build'
                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:277:12)
                gyp ERR! System Linux 5.10.52-v7+
                gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                gyp ERR! cwd /home/pi/node_modules/@serialport/bindings
                gyp ERR! node -v v14.17.4
                gyp ERR! node-gyp -v v5.1.0
                gyp ERR! not ok 
                npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
                npm WARN pi No description
                npm WARN pi No repository field.
                npm WARN pi No README data
                npm WARN pi No license field.
                
                npm ERR! code ELIFECYCLE
                npm ERR! errno 1
                npm ERR! @serialport/bindings@2.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
                npm ERR! Exit status 1
                npm ERR! 
                npm ERR! Failed at the @serialport/bindings@2.0.8 install script.
                npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                
                npm ERR! A complete log of this run can be found in:
                npm ERR!     /home/pi/.npm/_logs/2021-08-11T13_37_57_009Z-debug.log
                

                Die Versionsabfrage liefert nun - ich glaube korrekterweise - folgendes:

                /usr/bin/nodejs
                /usr/bin/node
                /usr/bin/npm
                v14.17.4
                v14.17.4
                6.14.14
                
                
                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von Thomas Braun
                #15

                @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

                npm install --unsafe-perm iobroker.jeelink

                Jede Wette du standst im falschen Verzeichnis. In /home/pi oder ~ nämlich.

                Installier einfach per

                iobroker install iobroker.jeelink
                

                das ist unabhängig vom Verzeichnis in dem der Aufruf erfolgt.

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                J 1 Antwort Letzte Antwort
                1
                • Thomas BraunT Thomas Braun

                  @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

                  npm install --unsafe-perm iobroker.jeelink

                  Jede Wette du standst im falschen Verzeichnis. In /home/pi oder ~ nämlich.

                  Installier einfach per

                  iobroker install iobroker.jeelink
                  

                  das ist unabhängig vom Verzeichnis in dem der Aufruf erfolgt.

                  J Offline
                  J Offline
                  Joshude
                  schrieb am zuletzt editiert von
                  #16

                  @thomas-braun Das war jetzt nur einer von mehreren Versuchen. Ich habs auch schon mit dem von dir genannten Befehl und ebenfalls auch schon direkt über die UI unter den Adaptern gemacht. Führt alles zum gleichen Ergebnis, leider. Die Version mit deinem Befehl (= via UI) dauert nur um einiges länger, bis da nen Fehler kommt :)

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • J Joshude

                    @thomas-braun Das war jetzt nur einer von mehreren Versuchen. Ich habs auch schon mit dem von dir genannten Befehl und ebenfalls auch schon direkt über die UI unter den Adaptern gemacht. Führt alles zum gleichen Ergebnis, leider. Die Version mit deinem Befehl (= via UI) dauert nur um einiges länger, bis da nen Fehler kommt :)

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von Thomas Braun
                    #17

                    @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

                    bis da nen Fehler kommt

                    Und welchen Fehler kommt da?

                    [Edit:] Hab's jetzt mal auf meinem System nachgestellt, da baut der serialport auch nicht. Allerdings mit node16 und npm7, das muss dann nicht heißen, npm7 ist bekannt dafür zu zicken in Verbindung mit iobroker

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    J 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

                      bis da nen Fehler kommt

                      Und welchen Fehler kommt da?

                      [Edit:] Hab's jetzt mal auf meinem System nachgestellt, da baut der serialport auch nicht. Allerdings mit node16 und npm7, das muss dann nicht heißen, npm7 ist bekannt dafür zu zicken in Verbindung mit iobroker

                      J Offline
                      J Offline
                      Joshude
                      schrieb am zuletzt editiert von
                      #18

                      @thomas-braun

                      $ ./iobroker add jeelink  --host raspberrypi
                      NPM version: 6.14.14
                      npm install iobroker.jeelink@0.1.0 --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:../../nan/nan.h:1028:46: note: declared here   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(                                              ^~~~~~~~~~~~
                      ../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:../../nan/nan.h:1028: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: error: no matching function for call to ‘v8::Array::Get(v8::Local<v8::String>)’   Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked());                                                                                   ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided../authenticate_pam.cc:150:69: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’    serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1);                                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037:7: note:   no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’
                      ../authenticate_pam.cc:152:69: error: no matching function for call to ‘v8::Array::Get(v8::Local<v8::String>)’   res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked());                                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided../authenticate_pam.cc:155:66: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’    remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1);                                                                  ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037: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], unsigned int)’  username->WriteUtf8(m->username, sizeof(m->username) - 1);                                                          ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037: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], unsigned int)’  password->WriteUtf8(m->password, sizeof(m->password) - 1);                                                          ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037: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:11: note: suggested alternative: ‘rand_r’
                       void init(Handle<Object> exports) {           ^~~~~~           rand_r../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:58,
                                       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/14.17.4/include/node/node.h:758: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); ^~~~~~~~~~~
                      ../authenticate_pam.cc:175:31: note: suggested alternative: ‘int’
                       NODE_MODULE(authenticate_pam, init);                               ^~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:758: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: *** [authenticate_pam.target.mk:109: Release/obj.target/authenticate_pam/authenticate_pam.o] Error 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:277:12)gyp ERR! System Linux 5.10.52-v7+
                      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-pamgyp ERR! node -v v14.17.4gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok 
                      ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                      ../src/serialport.cpp:41:48: error: no matching function for call to ‘v8::Value::ToString()’   v8::String::Utf8Value path(info[0]->ToString());                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2810:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2810:44: note:   candidate expects 1 argument, 0 provided../src/serialport.cpp:48:53: error: no matching function for call to ‘v8::Value::ToObject()’   v8::Local<v8::Object> options = info[1]->ToObject();                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
                      ../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 ‘void EIO_AfterOpen(uv_work_t*)’:../src/serialport.cpp:95:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(2, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:113:53: error: no matching function for call to ‘v8::Value::ToObject()’   v8::Local<v8::Object> options = info[1]->ToObject();                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
                      ../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 ‘void EIO_AfterUpdate(uv_work_t*)’:../src/serialport.cpp:150:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                      ../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 ‘void EIO_AfterClose(uv_work_t*)’:../src/serialport.cpp:188:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~../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 ‘void EIO_AfterFlush(uv_work_t*)’:../src/serialport.cpp:231:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                      ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:250:53: error: no matching function for call to ‘v8::Value::ToObject()’   v8::Local<v8::Object> options = info[1]->ToObject();                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided../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 ‘void EIO_AfterSet(uv_work_t*)’:../src/serialport.cpp:285:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                      ../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 ‘void EIO_AfterGet(uv_work_t*)’:
                      ../src/serialport.cpp:329:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’     results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));                                                                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided../src/serialport.cpp:330:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’     results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));                                                                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                      ../src/serialport.cpp:331:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’     results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));                                                                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided../src/serialport.cpp:336:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(2, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                      ../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 ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                      ../src/serialport.cpp:378:106: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::IntegerFactory<v8::Integer>::return_t)’     results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));                                                                                                          ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided../src/serialport.cpp:383:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(2, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                      ../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: In function ‘void EIO_AfterDrain(uv_work_t*)’:../src/serialport.cpp:424:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                      ../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)) {                              ^
                      ../src/serialport.cpp:460:17: error: variable or field ‘init’ declared void   void init(v8::Handle<v8::Object> target) {                 ^~~~~~../src/serialport.cpp:460:17: error: ‘Handle’ is not a member of ‘v8’../src/serialport.cpp:460:17: note: suggested alternative: ‘JobHandle’   void init(v8::Handle<v8::Object> target) {                 ^~~~~~                 JobHandle../src/serialport.cpp:460:34: error: expected primary-expression before ‘>’ token   void init(v8::Handle<v8::Object> target) {                                  ^../src/serialport.cpp:460:36: error: ‘target’ was not declared in this scope   void init(v8::Handle<v8::Object> target) {                                    ^~~~~~
                      ../src/serialport.cpp:460:36: note: suggested alternative: ‘tzset’
                         void init(v8::Handle<v8::Object> target) {                                    ^~~~~~                                    tzsetIn file included from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../src/serialport.cpp:485:25: error: ‘init’ was not declared in this scope NODE_MODULE(serialport, init);                         ^~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’       (node::addon_register_func) (regfunc),                          \                                    ^~~~~~~../src/serialport.cpp:485:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~
                      ../src/serialport.cpp:485:25: note: suggested alternative: ‘int’
                       NODE_MODULE(serialport, init);                         ^~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’       (node::addon_register_func) (regfunc),                          \                                    ^~~~~~~../src/serialport.cpp:485:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~
                      make: *** [serialport.target.mk:112: Release/obj.target/serialport/src/serialport.o] Error 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:277:12)gyp ERR! System Linux 5.10.52-v7+
                      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/iobroker.jeelink/node_modules/serialportgyp ERR! node -v v14.17.4gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok 
                      npm ERR! code ELIFECYCLE
                      npm ERR! errno 1
                      npm ERR! serialport@6.2.2 install: `prebuild-install || node-gyp rebuild`
                      npm ERR! Exit status 1npm ERR! npm ERR! Failed at the serialport@6.2.2 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                      
                      npm ERR! A complete log of this run can be found in:
                      npm ERR!     /home/iobroker/.npm/_logs/2021-08-11T13_54_13_982Z-debug.log
                      ERROR: host.raspberrypi Cannot install iobroker.jeelink@0.1.0: 1
                      ERROR: process exited with code 25
                      
                      Thomas BraunT 1 Antwort Letzte Antwort
                      0
                      • J Joshude

                        @thomas-braun

                        $ ./iobroker add jeelink  --host raspberrypi
                        NPM version: 6.14.14
                        npm install iobroker.jeelink@0.1.0 --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:../../nan/nan.h:1028:46: note: declared here   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(                                              ^~~~~~~~~~~~
                        ../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:../../nan/nan.h:1028: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: error: no matching function for call to ‘v8::Array::Get(v8::Local<v8::String>)’   Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked());                                                                                   ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided../authenticate_pam.cc:150:69: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’    serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1);                                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037:7: note:   no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’
                        ../authenticate_pam.cc:152:69: error: no matching function for call to ‘v8::Array::Get(v8::Local<v8::String>)’   res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked());                                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)’   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,                                           ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided../authenticate_pam.cc:155:66: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’    remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1);                                                                  ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037: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], unsigned int)’  username->WriteUtf8(m->username, sizeof(m->username) - 1);                                                          ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037: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], unsigned int)’  password->WriteUtf8(m->password, sizeof(m->password) - 1);                                                          ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../nan/nan.h:58,                 from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3037: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/14.17.4/include/node/v8.h:3037: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:11: note: suggested alternative: ‘rand_r’
                         void init(Handle<Object> exports) {           ^~~~~~           rand_r../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:58,
                                         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/14.17.4/include/node/node.h:758: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); ^~~~~~~~~~~
                        ../authenticate_pam.cc:175:31: note: suggested alternative: ‘int’
                         NODE_MODULE(authenticate_pam, init);                               ^~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:758: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: *** [authenticate_pam.target.mk:109: Release/obj.target/authenticate_pam/authenticate_pam.o] Error 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:277:12)gyp ERR! System Linux 5.10.52-v7+
                        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-pamgyp ERR! node -v v14.17.4gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok 
                        ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                        ../src/serialport.cpp:41:48: error: no matching function for call to ‘v8::Value::ToString()’   v8::String::Utf8Value path(info[0]->ToString());                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2810:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2810:44: note:   candidate expects 1 argument, 0 provided../src/serialport.cpp:48:53: error: no matching function for call to ‘v8::Value::ToObject()’   v8::Local<v8::Object> options = info[1]->ToObject();                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
                        ../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 ‘void EIO_AfterOpen(uv_work_t*)’:../src/serialport.cpp:95:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(2, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:113:53: error: no matching function for call to ‘v8::Value::ToObject()’   v8::Local<v8::Object> options = info[1]->ToObject();                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
                        ../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 ‘void EIO_AfterUpdate(uv_work_t*)’:../src/serialport.cpp:150:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                        ../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 ‘void EIO_AfterClose(uv_work_t*)’:../src/serialport.cpp:188:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~../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 ‘void EIO_AfterFlush(uv_work_t*)’:../src/serialport.cpp:231:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                        ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:250:53: error: no matching function for call to ‘v8::Value::ToObject()’   v8::Local<v8::Object> options = info[1]->ToObject();                                                     ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(                                            ^~~~~~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided../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 ‘void EIO_AfterSet(uv_work_t*)’:../src/serialport.cpp:285:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                        ../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 ‘void EIO_AfterGet(uv_work_t*)’:
                        ../src/serialport.cpp:329:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’     results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));                                                                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided../src/serialport.cpp:330:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’     results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));                                                                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                        ../src/serialport.cpp:331:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’     results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));                                                                                                ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided../src/serialport.cpp:336:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(2, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                        ../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 ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                        ../src/serialport.cpp:378:106: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::IntegerFactory<v8::Integer>::return_t)’     results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));                                                                                                          ^In file included from /home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:67,                 from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,                                     ^~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided../src/serialport.cpp:383:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(2, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                        ../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: In function ‘void EIO_AfterDrain(uv_work_t*)’:../src/serialport.cpp:424:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]   data->callback.Call(1, argv);                              ^In file included from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../../../../nan/nan.h:1744:3: note: declared here   Call(int argc, v8::Local<v8::Value> argv[]) const {   ^~~~
                        ../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)) {                              ^
                        ../src/serialport.cpp:460:17: error: variable or field ‘init’ declared void   void init(v8::Handle<v8::Object> target) {                 ^~~~~~../src/serialport.cpp:460:17: error: ‘Handle’ is not a member of ‘v8’../src/serialport.cpp:460:17: note: suggested alternative: ‘JobHandle’   void init(v8::Handle<v8::Object> target) {                 ^~~~~~                 JobHandle../src/serialport.cpp:460:34: error: expected primary-expression before ‘>’ token   void init(v8::Handle<v8::Object> target) {                                  ^../src/serialport.cpp:460:36: error: ‘target’ was not declared in this scope   void init(v8::Handle<v8::Object> target) {                                    ^~~~~~
                        ../src/serialport.cpp:460:36: note: suggested alternative: ‘tzset’
                           void init(v8::Handle<v8::Object> target) {                                    ^~~~~~                                    tzsetIn file included from ../../../../nan/nan.h:58,                 from ../src/./serialport.h:6,                 from ../src/serialport.cpp:1:../src/serialport.cpp:485:25: error: ‘init’ was not declared in this scope NODE_MODULE(serialport, init);                         ^~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’       (node::addon_register_func) (regfunc),                          \                                    ^~~~~~~../src/serialport.cpp:485:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~
                        ../src/serialport.cpp:485:25: note: suggested alternative: ‘int’
                         NODE_MODULE(serialport, init);                         ^~~~/home/iobroker/.cache/node-gyp/14.17.4/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’       (node::addon_register_func) (regfunc),                          \                                    ^~~~~~~../src/serialport.cpp:485:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~
                        make: *** [serialport.target.mk:112: Release/obj.target/serialport/src/serialport.o] Error 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:277:12)gyp ERR! System Linux 5.10.52-v7+
                        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/iobroker.jeelink/node_modules/serialportgyp ERR! node -v v14.17.4gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok 
                        npm ERR! code ELIFECYCLE
                        npm ERR! errno 1
                        npm ERR! serialport@6.2.2 install: `prebuild-install || node-gyp rebuild`
                        npm ERR! Exit status 1npm ERR! npm ERR! Failed at the serialport@6.2.2 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                        
                        npm ERR! A complete log of this run can be found in:
                        npm ERR!     /home/iobroker/.npm/_logs/2021-08-11T13_54_13_982Z-debug.log
                        ERROR: host.raspberrypi Cannot install iobroker.jeelink@0.1.0: 1
                        ERROR: process exited with code 25
                        
                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von Thomas Braun
                        #19

                        @joshude sagte in Jeelink Adapter lässt sich nicht installieren:

                        authenticate_pam

                        Das ist ziemlich alter Kram, da bin ich mir fast sicher dass der nicht mehr mit aktuellen nodeJS-Versionen zusammen läuft.
                        Mach ein Issue beim Adapter auf, da muss vermutlich mal wer den Code / die Dependencies aktualisieren.

                        Du hast aber nicht zufällig den Adapter 'terminal' bei dir im System? Der sorgt nämlich für ganz ähnliche Dinge. Wirf den mal raus, falls der drin ist.

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        1 Antwort Letzte Antwort
                        0

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        460

                        Online

                        32.9k

                        Benutzer

                        83.0k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe