Dopo aver aggiornato la mia scatola Arch Linux, VirtualBox non si apre. Ho provato ad aprirlo da Terminale eseguendo il comando "virtualbox". Ma VirtualBox ha rifiutato di aprirsi e continuava a visualizzare il seguente messaggio:
VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/usr/lib/virtualbox/VirtualBox.so",) failed: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates
Dopo aver esaminato attentamente l'errore di cui sopra, sono giunto alla conclusione che VirtualBox non funziona dopo l'aggiornamento di harfbuzz dalla versione 1.3.4-1 alla versione 1.4.1-1. Quindi, ho pensato che il downgrade di harfbuzz alla versione precedente potesse risolvere questo problema. Ho cercato nella mia cache locale per vedere se esiste una versione precedente di harfbuzz.
$ ls /var/cache/pacman/pkg/
Risultato di esempio:
harfbuzz-1.4.1-1-x86_64.pkg.tar.xz virtualbox-5.1.12-1-x86_64.pkg.tar.xz harfbuzz-icu-1.4.1-1-x86_64.pkg.tar.xz
Sfortunatamente, non ho versioni precedenti di harfbuzz nella mia cartella cache locale su cui eseguire il rollback.
Scarica - eBook gratuito:"Docker Containerization Cookbook"Tuttavia, conosco un'altra soluzione alternativa per risolvere questo problema. In Arch Linux e nei suoi derivati, possiamo facilmente eseguire il downgrade di un pacchetto alle sue versioni precedenti usando "downgrade" utilità. Basta installare l'utilità di downgrade come descritto nel seguente link.
- Come eseguire il downgrade di un pacchetto in Arch Linux
Una volta installata l'utilità di downgrade, possiamo facilmente eseguire il downgrade del pacchetto harfbuzz come mostrato di seguito.
$ sudo downgrade harfbuzz
Dovresti vedere l'elenco dei pacchetti meno recenti disponibili sia nella cache locale che nei repository Arch Linux. Basta selezionare la versione precedente e premere INVIO. Nel mio caso, ho selezionato la terza opzione che mostra la versione harfbuzz-1.3.4-1.
Available packages: 1) harfbuzz-1.4.1-1-x86_64.pkg.tar.xz (remote) 2) harfbuzz-1.4.1-1-x86_64.pkg.tar.xz (local) 3) harfbuzz-1.3.4-1-x86_64.pkg.tar.xz (remote) 4) harfbuzz-1.3.3-2-x86_64.pkg.tar.xz (remote) 5) harfbuzz-1.3.3-1-x86_64.pkg.tar.xz (remote) 6) harfbuzz-1.3.2-1-x86_64.pkg.tar.xz (remote) 7) harfbuzz-1.3.1-1-x86_64.pkg.tar.xz (remote) 8) harfbuzz-1.3.0-1-x86_64.pkg.tar.xz (remote) 9) harfbuzz-1.2.7-1-x86_64.pkg.tar.xz (remote) 10) harfbuzz-1.2.6-1-x86_64.pkg.tar.xz (remote) 11) harfbuzz-1.2.4-3-x86_64.pkg.tar.xz (remote) 12) harfbuzz-1.2.4-1-x86_64.pkg.tar.xz (remote) 13) harfbuzz-1.2.3-1-x86_64.pkg.tar.xz (remote) 14) harfbuzz-1.2.1-1-x86_64.pkg.tar.xz (remote) 15) harfbuzz-1.2.0-1-x86_64.pkg.tar.xz (remote) 16) harfbuzz-1.1.3-1-x86_64.pkg.tar.xz (remote) 17) harfbuzz-1.1.2-3-x86_64.pkg.tar.xz (remote) 18) harfbuzz-1.1.2-2-x86_64.pkg.tar.xz (remote) 19) harfbuzz-1.1.2-1-x86_64.pkg.tar.xz (remote) 20) harfbuzz-1.1.1-1-x86_64.pkg.tar.xz (remote) 21) harfbuzz-1.1.0-1-x86_64.pkg.tar.xz (remote) 22) harfbuzz-1.0.6-2-x86_64.pkg.tar.xz (remote) 23) harfbuzz-1.0.6-1-x86_64.pkg.tar.xz (remote) 24) harfbuzz-1.0.5-1-x86_64.pkg.tar.xz (remote) 25) harfbuzz-1.0.4-1-x86_64.pkg.tar.xz (remote) 26) harfbuzz-1.0.3-1-x86_64.pkg.tar.xz (remote) 27) harfbuzz-1.0.1-1-x86_64.pkg.tar.xz (remote) 28) harfbuzz-0.9.41-1-x86_64.pkg.tar.xz (remote) 29) harfbuzz-0.9.40-2-x86_64.pkg.tar.xz (remote) 30) harfbuzz-0.9.40-1-x86_64.pkg.tar.xz (remote) 31) harfbuzz-0.9.38-1-x86_64.pkg.tar.xz (remote) 32) harfbuzz-0.9.37-1-x86_64.pkg.tar.xz (remote) 33) harfbuzz-0.9.36-1-x86_64.pkg.tar.xz (remote) 34) harfbuzz-0.9.35-2-x86_64.pkg.tar.xz (remote) 35) harfbuzz-0.9.35-1-x86_64.pkg.tar.xz (remote) 36) harfbuzz-0.9.32-1-x86_64.pkg.tar.xz (remote) 37) harfbuzz-0.9.30-1-x86_64.pkg.tar.xz (remote) 38) harfbuzz-0.9.29-1-x86_64.pkg.tar.xz (remote) 39) harfbuzz-0.9.28-1-x86_64.pkg.tar.xz (remote) 40) harfbuzz-0.9.26-2-x86_64.pkg.tar.xz (remote) 41) harfbuzz-0.9.26-1-x86_64.pkg.tar.xz (remote) 42) harfbuzz-0.9.24-1-x86_64.pkg.tar.xz (remote) 43) harfbuzz-0.9.23-1-x86_64.pkg.tar.xz (remote) 44) harfbuzz-0.9.22-1-x86_64.pkg.tar.xz (remote) 45) harfbuzz-0.9.19-1-x86_64.pkg.tar.xz (remote) select a package by number: 3 [1/2]: https://archive.archlinux.org/packages/h/harfbuzz/harfbuzz-1.3.4-1-x86_64.pkg.tar.xz --> harfbuzz-1.3.4-1-x86_64.pkg.tar.xz --_curl_--https://archive.archlinux.org/packages/h/harfbuzz/harfbuzz-1.3.4-1-x86_64.pkg.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 298k 100 298k 0 0 120k 0 0:00:02 0:00:02 --:--:-- 120k [2/2]: https://archive.archlinux.org/packages/h/harfbuzz/harfbuzz-1.3.4-1-x86_64.pkg.tar.xz.sig --> harfbuzz-1.3.4-1-x86_64.pkg.tar.xz.sig --_curl_--https://archive.archlinux.org/packages/h/harfbuzz/harfbuzz-1.3.4-1-x86_64.pkg.tar.xz.sig 100 310 100 310 0 0 1562 0 --:--:-- --:--:-- --:--:-- 1562 loading packages... warning: downgrading package harfbuzz (1.4.1-1 => 1.3.4-1) resolving dependencies... looking for conflicting packages... Packages (1) harfbuzz-1.3.4-1 Total Installed Size: 2.25 MiB Net Upgrade Size: -0.15 MiB :: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [##############################################] 100% (1/1) checking package integrity [##############################################] 100% (1/1) loading package files [##############################################] 100% (1/1) checking for file conflicts [##############################################] 100% (1/1) checking available disk space [##############################################] 100% :: Processing package changes... (1/1) downgrading harfbuzz [##############################################] 100% add harfbuzz to IgnorePkg? [y/n] y
Evviva! Avevo ragione. Hurfbuzz è il colpevole. Dopo aver eseguito il downgrade del pacchetto harfbuzz alla sua versione precedente, VirtualBox funziona come al solito senza problemi. Spero che gli sviluppatori Arch o qualsiasi membro della community risolvano questo problema.
Nota importante: Se desideri utilizzare l'ultima versione di harfbuzz, allo stesso tempo con una buona resa dei caratteri, prova la seguente guida.
- Come risolvere il problema Harfbuzz e Infinality in Arch Linux