jystervinou / freebox-caller-id

Recevez des notifications quand le téléphone fixe de la Freebox sonne (Révolution ou Mini 4k). Ne vous déplacez plus pour rien (appel indésirable, numéro masqué...) ! Notification par SMS Free Mobile (numéro ou nom de l'appelant) ou notification vocale directement via le haut-parleur de la Freebox.
24 stars 8 forks source link

Problème d'Installation (airtunes) #16

Closed TitouBilou closed 5 years ago

TitouBilou commented 5 years ago

Bonjour Jean-Yves,

J'ai un petit problème à l'installation. Tout d'abord j'ai changé : $ wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armhf-32bit-static.tar.xz $ tar -xJf ffmpeg-release-armhf-32bit-static.tar.xz $ sudo cp ffmpeg-3.4-armhf-32bit-static/ff* /usr/local/bin/

Par : $ wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armhf-static.tar.xz $ tar -xJf ffmpeg-release-armhf-static.tar.xz $ sudo cp ffmpeg-4.1.4-armhf-static/ff* /usr/local/bin/

Car la version de ffmpeg n'est plus disponible à l'adresse indiquée.

J'ai bien renseigné mon login et password Free pour l'envoi de SMS dans le fichier local.json créé à partir de default.json. Ensuite tout se passe correctement jusqu'à : $ node caller_id.js init

Où j'obtiens : internal/modules/cjs/loader.js:628 throw err; ^ Error: Cannot find module 'airtunes' Require stack:

Les infos sur mon système:

Par avance, merci pour ton aide. Eric.

jystervinou commented 5 years ago

Hello,

Il semble qu'il manque le npm install car le module airtunes n'est pas installé.

JY

TitouBilou commented 5 years ago

Merci pour ta réponse expresse !!!! Voici le retour de la commande "npm install" : $ pi@RaspNews:~/freebox-caller-id $ npm install

airtunes@0.1.7 install /home/pi/freebox-caller-id/node_modules/airtunes node-gyp rebuild

make : on entre dans le répertoire « /home/pi/freebox-caller-id/node_modules/airtunes/build » CXX(target) Release/obj.target/airtunes/src/codec.o In file included from ../src/../alac/ALACEncoder.h:29, from ../src/codec.cc:15: ../src/../alac/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar] kALACFormatAppleLossless = 'alac', ^~ ../src/../alac/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar] kALACFormatLinearPCM = 'lpcm' ^~ ../src/../alac/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar] kALACCodecFormat = 'alac', ^~ ../src/../alac/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar] AudioChannelLayoutAID = 'chan' ^~ ../src/codec.cc: In function ‘void nodeairtunes::NewEncoder(const v8::FunctionCallbackInfo&)’: ../src/codec.cc:76:49: error: no matching function for call to ‘v8::ObjectTemplate::NewInstance()’ Local obj = encoderClass->NewInstance(); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:6252:44: note: candidate: ‘v8::MaybeLocal v8::ObjectTemplate::NewInstance(v8::Local)’ V8_WARN_UNUSED_RESULT MaybeLocal NewInstance(Local context); ^~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:6252:44: note: candidate expects 1 argument, 0 provided ../src/codec.cc: In function ‘void nodeairtunes::EncodeALAC(const v8::FunctionCallbackInfo&)’: ../src/codec.cc:91:44: error: no matching function for call to ‘v8::Value::ToObject()’ Localwrapper = args[0]->ToObject(); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate: ‘v8::MaybeLocal v8::Value::ToObject(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal ToObject( ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate expects 1 argument, 0 provided In file included from /home/pi/.node-gyp/12.7.0/include/node/v8-internal.h:14, from /home/pi/.node-gyp/12.7.0/include/node/v8.h:25, from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate: ‘v8::Local v8::Value::ToObject(v8::Isolate) const’ Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate expects 1 argument, 0 provided Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ ../src/codec.cc:95:77: error: no matching function for call to ‘v8::Value::ToObject()’ unsigned char pcmData = (unsigned char)Buffer::Data(pcmBuffer->ToObject()); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate: ‘v8::MaybeLocal v8::Value::ToObject(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal ToObject( ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate expects 1 argument, 0 provided In file included from /home/pi/.node-gyp/12.7.0/include/node/v8-internal.h:14, from /home/pi/.node-gyp/12.7.0/include/node/v8.h:25, from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate: ‘v8::Local v8::Value::ToObject(v8::Isolate) const’ Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate expects 1 argument, 0 provided Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ ../src/codec.cc:98:79: error: no matching function for call to ‘v8::Value::ToObject()’ unsigned char alacData = (unsigned char)Buffer::Data(alacBuffer->ToObject()); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate: ‘v8::MaybeLocal v8::Value::ToObject(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal ToObject( ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate expects 1 argument, 0 provided In file included from /home/pi/.node-gyp/12.7.0/include/node/v8-internal.h:14, from /home/pi/.node-gyp/12.7.0/include/node/v8.h:25, from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate: ‘v8::Local v8::Value::ToObject(v8::Isolate) const’ Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate expects 1 argument, 0 provided Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ ../src/codec.cc:100:41: error: no matching function for call to ‘v8::Value::Int32Value()’ int32_t pcmSize = args[3]->Int32Value(); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2576:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Local) const’ V8_WARN_UNUSED_RESULT Maybe Int32Value(Local context) const; ^~~~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2576:40: note: candidate expects 1 argument, 0 provided ../src/codec.cc: In function ‘void nodeairtunes::EncryptAES(const v8::FunctionCallbackInfo&)’: ../src/codec.cc:122:79: error: no matching function for call to ‘v8::Value::ToObject()’ unsigned char alacData = (unsigned char)Buffer::Data(alacBuffer->ToObject()); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate: ‘v8::MaybeLocal v8::Value::ToObject(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal ToObject( ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2539:44: note: candidate expects 1 argument, 0 provided In file included from /home/pi/.node-gyp/12.7.0/include/node/v8-internal.h:14, from /home/pi/.node-gyp/12.7.0/include/node/v8.h:25, from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate: ‘v8::Local v8::Value::ToObject(v8::Isolate) const’ Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2553:31: note: candidate expects 1 argument, 0 provided Local ToObject(Isolate isolate) const); ^~~~ /home/pi/.node-gyp/12.7.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~ ../src/codec.cc:123:42: error: no matching function for call to ‘v8::Value::Int32Value()’ int32_t alacSize = args[1]->Int32Value(); ^ In file included from /home/pi/.node-gyp/12.7.0/include/node/node.h:63, from ../src/codec.cc:1: /home/pi/.node-gyp/12.7.0/include/node/v8.h:2576:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Local) const’ V8_WARN_UNUSED_RESULT Maybe Int32Value(Local context) const; ^~~~~~ /home/pi/.node-gyp/12.7.0/include/node/v8.h:2576:40: note: candidate expects 1 argument, 0 provided ../src/codec.cc: At global scope: ../src/codec.cc:149:16: error: variable or field ‘InitCodec’ declared void void InitCodec(Handle target) { ^~ ../src/codec.cc:149:16: error: ‘Handle’ was not declared in this scope ../src/codec.cc:149:16: note: suggested alternative: ‘rand_r’ void InitCodec(Handle target) { ^~ rand_r ../src/codec.cc:149:29: error: expected primary-expression before ‘>’ token void InitCodec(Handle target) { ^ ../src/codec.cc:149:31: error: ‘target’ was not declared in this scope void InitCodec(Handle target) { ^~ ../src/codec.cc:149:31: note: suggested alternative: ‘tzset’ void InitCodec(Handle target) { ^~ tzset make: *** [airtunes.target.mk:113: Release/obj.target/airtunes/src/codec.o] Error 1 make : on quitte le répertoire « /home/pi/freebox-caller-id/node_modules/airtunes/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:266:23) gyp ERR! stack at ChildProcess.emit (events.js:203:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 4.19.60-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/freebox-caller-id/node_modules/airtunes gyp ERR! node -v v12.7.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm WARN freebox-caller-id@0.8.0 license should be a valid SPDX license expression

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! airtunes@0.1.7 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the airtunes@0.1.7 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/2019-07-30T22_49_39_856Z-debug.log

**** FIN *** Rien n'a ensuite changé pour la réponse à la commande : "node caller_id.js init".

Par avance, merci. Eric.

jystervinou commented 5 years ago

C'est la fête toutes ces erreurs et warnings :-)

Peux-tu tenter :

cd /home/pi/freebox-caller-id/node_modules/airtunes
node-gyp configure build
TitouBilou commented 5 years ago

Pas de modules airtunes dans /home/pi/freebox-caller-id/node_modules/ $ cd /home/pi/freebox-caller-id/node_modules/airtunes bash: cd: /home/pi/freebox-caller-id/node_modules/airtunes: Aucun fichier ou dossier de ce type

Je te joins le log de "npm install" si cela peut aider...

freebox-caller-id_debug.log

Encore merci, Eric.

jystervinou commented 5 years ago

Ca sent le #fail avec la version la plus récente de Node. :-/

Peux-tu quand même essayer un :

cd /home/pi/freebox-caller-id/
npm install jystervinou/node_airtunes

Sinon, est-ce que tu as installé node ou était-il déjà installé ?

Faudrait essayer d'installer une vielle version, genre j'étais en v8.9.1 ... possible d'en installer plusieurs avec nvm mais c'est tout de suite un peu plus relou..

TitouBilou commented 5 years ago

Malheureusement pas plus de succès... Node était déjà installé, je pense que je vais effectivement devoir installer une version un peu plus ancienne...

Merci pour ton aide, Eric.

TitouBilou commented 5 years ago

Eh oui, c'était probablement du à la version de node car cela fonctionne parfaitement avec en v8.16.0.

Merci pour ton aide précieuse, je clos le sujet. Eric.

jystervinou commented 5 years ago

Top, merci pour le retour.

Du coup, je ne sais pas si ça va être dur ou pas de mettre à niveau le module airtunes pour Node v12... :-/

jystervinou commented 5 years ago

As-tu essayé avec la dernière v10 ?

TitouBilou commented 5 years ago

Non, j'avais juste à disposition un autre RPi avec node v8.16.0 installé.

Eric.

Ablis78 commented 2 years ago

Bonjour Jean-Yves, pour information: j'ai installé freebox-caller-id sur une VM - debian 10 sur la freebox Delta. Avec les versions de node.js 8.16.0 et 10.24.1 ça fonctionne le seul message gênant concerne la license ( npm WARN freebox-caller-id@0.8.0 license should be a valid SPDX license expression ) ceci peut être corrigé en modifiant le fichier package.json en remplaçant "license": "GPL" par "license": "(ISC OR GPL-3.0)"

Voici les versions testées. Les versions 12 et 16 tombent en erreur lors de la compilation d'airtunes node/8.16.0 ο node/10.24.1 node/12.16.2 node/12.22.7 node/16.13.1 Merci en tout cas pour cet utilitaire qui évite souvent de décrocher pour se rendre compte que c'est encore un appel publicitaire...

jystervinou commented 2 years ago

@Ablis78 salut. j'ai mis :

"license": "MIT"

ok ?

jystervinou commented 2 years ago

@Ablis78 j'avais regardé rapidement, la mise à jour éventuelle du module airtunes pour ces versions de node avait l'air gore... :-/

Ablis78 commented 2 years ago

Merci Jean Yves pour la rapidité de réponse et l’excellent suivi de ce projet.