Am mai multe aplicații comerciale care se bazează pe FFMPEG sau pe o subdependență, libpango și, eventual, pe altele. Unul dintre aceste pachete se întrerupe pe sistemul meu, deoarece versiunea FFMPEG sau libpango și opțiunile de compilare sunt acum diferite de versiunea Ubuntu de stoc. Nu sunt sigur ce programe se bazează pe FFMPEG sau libpango ca dependență sau cum să aflu ce versiuni sunt folosite.
Eroarea inițială:
ffmpeg: eroare de căutare a simbolurilor: /lib/x86_64-linux-gnu/libpango-1.0.so.0: simbol nedefinit: hb_glib_script_to_script
Dacă verific dacă libpango are simbolul, văd că nu:
> 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
Am verificat celelalte locații precum /usr/local și ~/.snap/* și acele instanțe de libpango listează și acel simbol ca nedefinit.
Mă întrebam dacă un pachet poate avea o versiune conflictuală a bibliotecii care poate fi suprascrisă. Totuși, nu văd niciun semn de asta.
> apt-cache rdepends --instalat ffmpeg
ffmpeg
Inversul depinde:
bitwig-studio
ffmpeg:i386
imagemagick-6.q16
ffmpeg:i386
imagemagick-6.q16
ffmpeg:i386
Verificând eroarea simbolului, am întâlnit asta:
https://unix.stackexchange.com/questions/599152/debian-libpangoft2-1-0-so-0-undefined-symbol-hb-glib-script-from-script
A sugerat reinstalarea libharfbuzz0b
care este biblioteca de bază care ar trebui să furnizeze simbolul. l-am reinstalat:
> sudo apt update && sudo apt reinstall libharfbuzz
Încă primesc această eroare.
Apoi am verificat dacă există mai multe instanțe de FFMPEG, ceea ce nu există. Există mai multe copii ale libpango, totuși duplicatele sunt în ~/.snap și nu ar trebui să se rezolve înainte de versiunea de sistem.