(modifié le 3 novembre 2025 à 16:26)

Lorsque j'ai migré de Raspberry Pi OS 11 vers Raspberry Pi OS 12 (anciennement Raspbian, une version ARM de Debian optimisée pour Raspberry Pi), j'ai rencontré quelques surprises.

libtiff.so.6 :cannot open shared object file

Ycast ne fonctionnait plus 😭! J'en ai profité pour découvrir le fonctionnement de venv python dont voici le résumé pour corriger cette erreur.

Alternative : migrer sous YTuner

La solution la plus simple aurait été de migrer vers YTuner, un projet similaire, plus récent et maintenu pour de nombreuses distributions : Linux, macOS, BSD, Solaris, Raspberry Pi OS, OpenWRT, etc.

Mais j'aime bien le défi donc ce n'est pas l'option que j'ai choisi.

[Etape 1] Création d'un venv python

Nous allons installer un environnement virtuel python afin de simplifier les choses et d'éviter les conflits :

sudo apt install python3-venv

Création d'un dossier dédié aux venv :

mkdir /home/pi/python_venv/

Création du venv :

cd /home/pi/python_venv/
python3 -m venv ycast

Cette étape peut prendre plusieurs minutes, soyez patient.

Entrer dans le vcenv ycast :

source ycast/bin/activate

Installation ycast dans le venv (cette étape prend du temps) :

pip3 install ycast

Enfin pour sortir du venv ycast :

deactivate

Etape 2 : création du lien symbolique

Nous devons maintenant créer un lien symbolique depuis le fichier de librairie "libtiff.so.6" vers "libtiff.so.5" (les versions semblent compatibles entre-elles).

Chercher votre fichier librairie existante libtiff.so.5 :

find / -type f -iname libtiff*.so.*
/usr/lib/arm-linux-gnueabihf/libtiff.so.5.6.0

Création du lien symbolique (param=destination,source) à réalisé en root (ou via sudo) :

ln -s /usr/lib/arm-linux-gnueabihf/libtiff.so.5 /usr/lib/arm-linux-gnueabihf/libtiff.so.6
ls -l /usr/lib/arm-linux-gnueabihf/
/usr/lib/arm-linux-gnueabihf/libtiff.so.6 -> /usr/lib/arm-linux-gnueabihf/libtiff.so.5

Enfin terminez avec le refresh des librairies :

sudo ldconfig

Etape 3 : modification du fichier de service

Pour que le service ycast utilise le venv python nous éditons ce fichier :

sudo nano /etc/systemd/system/ycast.service

J'ai mis en commentaire la ligne existante, remplacée par celle en dessous :

[Unit]
Description=YCast internet radio service (xhark custom)

After=network-online.target
Wants=network-online.target


[Service]
Type=simple
User=ycast
Group=ycast
#ExecStart=/usr/bin/python3 -m ycast -l 192.168.0.14 -p 8010 -c /home/pi/ycast-yamaha/stations.yml
ExecStart=/home/pi/python_venv/ycast/bin/python -m ycast -l 192.168.0.14 -p 8010 -c /home/pi/ycast-yamaha/stations.yml

#StandardOutput=file:/var/log/ycastd.log
#StandardError=file:/var/log/ycastd.log

[Install]
WantedBy=multi-user.target

On notifie systemd de la modification du service :

sudo systemctl daemon-reload

Et enfin on démarre ycast :

sudo systemctl start ycast 
sudo systemctl status ycast

Et voilà :

En espérant que cela serve à d'autres (et merci à Perplexity pour son aide!).

Bonus : si vous souhaitez recompiler la version de la librairie en v6, suivez ce tutoriel.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter