J'ai plusieurs applications commerciales qui dépendent de FFMPEG ou d'une sous-dépendance, libpango, et potentiellement d'autres. L'un de ces paquets est cassé sur mon système car la version et les options de compilation de FFMPEG ou de libpango sont maintenant différentes de la version Ubuntu standard. Je ne sais pas quels programmes dépendent de FFMPEG ou de libpango, ni comment trouver les versions utilisées.
L'erreur initiale :
ffmpeg: symbol lookup error: /lib/x86_64-linux-gnu/libpango-1.0.so.0: undefined symbol: hb_glib_script_to_script
Si je vérifie si libpango a le symbole, je vois qu'il ne l'a pas :
> readelf -a /lib/x86_64-linux-gnu/libpango-1.0.so.0 | grep hb_glib_script_to_script
85: 0000000000000000 0 FUNC GLOBAL DEFAULT UND hb_glib_script_to_script
J'ai vérifié les autres emplacements comme /usr/local et ~/.snap/* et ces instances de libpango listent également ce symbole comme indéfini.
Je me demandais si un paquet pouvait avoir une version conflictuelle de la bibliothèque qui pourrait être remplacée. Je ne vois aucun signe de cela cependant.
> apt-cache rdepends --installed ffmpeg
ffmpeg
Reverse Depends:
bitwig-studio
ffmpeg:i386
imagemagick-6.q16
ffmpeg:i386
imagemagick-6.q16
ffmpeg:i386
En vérifiant l'erreur de symbole, je suis tombé sur ceci : https://unix.stackexchange.com/questions/599152/debian-libpangoft2-1-0-so-0-undefined-symbol-hb-glib-script- de-script
Il a suggéré de réinstaller libharfbuzz0b
qui est la bibliothèque sous-jacente qui doit fournir le symbole. Je l'ai réinstallé :
> sudo apt update && sudo apt reinstall libharfbuzz
Je reçois toujours cette erreur.
J'ai ensuite vérifié s'il y avait plusieurs instances de FFMPEG, ce qui n'est pas le cas. Il y a plusieurs copies de libpango, mais les doublons sont dans ~/.snap et ne devraient pas être résolus avant la version système.