Unable to load dynamic library 'mosquitto.so'

Bonjour,
Depuis peu, est apparu ce warning dans les logs:
PHP Warning: PHP Startup: Unable to load dynamic library ‹ mosquitto.so › (tried: /usr/lib/php/20180731/mosquitto.so …
J’ai vérifié et effectivement le fichier mosquitto.so n’existe pas dans ce répertoire. J’ai effectué un sudo apt-get install mosquitto mais aussi un upgrade. Tout se passe bien mais cette librairie n’est toutjours pas là. (?)
J’ai re-installé les plugins openzwave, fullykiosk et mis à jour le core.

Une idée ?

Bonjour,
Ce n’est à priori pas le core le « responsable » mais un plug-in qui l’utilise.
Open zwave ne l’utilise pas.
Fulykiosk je ne sais pas.
Quels autres plugins avez-vous installé récemment et quels sont les plugins installés ?

Fullykiosk l’utilise si on configure pour la récupération des evenements mqtt (donc optionnel)

Oui c’est fullykiosk qui l’utilise, dans les dépendances. Voici ce que j’obtiens dans je relance les dépendances (je n’utilise pas MQTT) :

*
* Install php mosquitto wrapper
*
PHP Warning:  PHP Startup: Unable to load dynamic library 'mosquitto.so' (tried: /usr/lib/php/20180731/mosquitto.so (/usr/lib/php/20180731/mosquitto.so: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/mosquitto.so.so (/usr/lib/php/20180731/mosquitto.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
> Version 7 of PHP detected
> Install php7.3-dev
Reading package lists...
Building dependency tree...

Reading state information...
php7.3-dev is already the newest version (7.3.27-1~deb10u1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
> Install pecl/Mosquitto
PHP Warning:  PHP Startup: Unable to load dynamic library 'mosquitto.so' (tried: /usr/lib/php/20180731/mosquitto.so (/usr/lib/php/20180731/mosquitto.so: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/mosquitto.so.so (/usr/lib/php/20180731/mosquitto.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
pecl/Mosquitto is already installed and is the same as the released version 0.4.0
install failed
> No need to reload the web server
********************************************************
*             End dependancy installation              *
********************************************************

La librairie mosquitto.so serait-elle ailleurs ?

as-tu vu ça dans la doc:

MQTT
si vous ne voulez pas utiliser cette fonctionnalité ou si vous ne savez pas à quoi ça correspond il est conseillé de désactiver le démarrage automatique du deamon.

Oui c’est pourquoi le démon n’est pas en démarrage automatique

si le demon n’est pas démarré alors fullykiosk n’utlise pas mosquitto.

tu as quels autres plugins?

J’ai trouvé un problème similaire :

Cette solution ne me convient qu’à moitié car je n’utilise pas MQTT alors pourquoi charger des plugins JMQTT et MQTT ?
Le plugin fullykiosk marchait bien jusqu’à présent, sans activer la fonction MQTT.
Il semble que mon php.ini a été modifié avec l’extension « mosquitto », où puis-je trouver ce fichier php.ini ?

de memoire fullykiosk ne charge mosquitto que si le démon est démarré, donc sans lui tu ne devrais pas avoir l’erreur.

apres j’utilise mosquitto donc je ne peux pas te l’affirmer a 100% :frowning:

Bon je me résoud à installer le plugin JMQTT et voici ce que l’installation des dépendances affiche (c’est un extrait):

Get:11 http://ftp.debian.org/debian buster-backports/main Sources 2021-06-28-0801.17.pdiff [777 B]
Get:11 http://ftp.debian.org/debian buster-backports/main Sources 2021-06-28-0801.17.pdiff [777 B]
Err:1 https://repo.jeedom.com/odroid stable InRelease
502  Bad Gateway [IP: 51.210.253.116 443]
Fetched 182 kB in 15s (11.8 kB/s)
Reading package lists...
W: Failed to fetch http://repo.jeedom.com/odroid/dists/stable/InRelease  502  Bad Gateway [IP: 51.210.253.116 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
*

Il semble que repo.jeedom.com/… ne soit pas prêt (?)

Et pourtant j’ai cette erreur chaque fois que j’utilise PHP (backups, centre de mise à jour, etc.)

J’ai une piste : le fichier php.ini contient une ligne : extension=mosquitto.so placée à la fin du fichier. D’abord ce n’est pas sa place car il y a un paragraphe pour déclarer les extensions, mais bon… J’ai supprimé cette ligne dans:
/etc/php/7.3/apache2/php.ini et dans /etc/php/7.0/apache2/php.ini
Redémarrage de jeedom
Mais j’ai toujours mon warning quand je lance une sauvegarde par exemple. Faut-il faire d’autres manip ?

Il fallait regarder dans le répertoire cleint : /etc/php/7.3/cli/php.ini et supprimer la ligne extension=mosquitto.so
Tout fonctionne maintenant. Merci à tous

cdt

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.