VirtualBox не открывается после обновления Harfbuzz в Arch Linux
После обновления моего окна Arch Linux VirtualBox не открывается. Я попытался открыть его из терминала, выполнив команду «virtualbox». Но VirtualBox отказывался открываться и продолжал отображать следующее сообщение:
VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/usr/lib/virtualbox/VirtualBox.so",) failed: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates
Внимательно изучив вышеуказанную ошибку, я пришёл к выводу, что VirtualBox не работает после обновления harfbuzz с версии 1.3.4-1 до версии 1.4.1-1. Итак, я подумал, что переход на более старую версию harfbuzz может решить эту проблему. Я просмотрел свой локальный кеш, чтобы узнать, есть ли какая-нибудь старая версия harfbuzz.
ls /var/cache/pacman/pkg/
Пример вывода:
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
К сожалению, в моей локальной папке кэша нет более старых версий harfbuzz, к которым можно было бы выполнить откат.
Однако я знаю другой способ решения этой проблемы. В Arch Linux и его производных мы можем легко откатить пакет до более старых версий с помощью утилиты downgrade. Просто установите утилиту понижения версии, как описано в следующей ссылке.
- Как понизить версию пакета в Arch Linux
После установки утилиты понижения версии мы можем легко понизить версию пакета harfbuzz, как показано ниже.
sudo downgrade harfbuzz
Вы должны увидеть список старых пакетов, доступных как в локальном кеше, так и в репозиториях Arch Linux. Просто выберите старую версию и нажмите ENTER. В моем случае я выбрал третий вариант, который показывает версию 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
Ура! Я был прав. Виновником является Hurfbuzz. После перехода на более старую версию пакета harfbuzz VirtualBox работает как обычно, без каких-либо проблем. Я надеюсь, что разработчики Arch или любой участник сообщества исправят эту проблему.
Важное примечание. Если вы хотите использовать последнюю версию harfbuzz с хорошей отрисовкой шрифтов, попробуйте следующее руководство.
- Как исправить проблему Harfbuzz и бесконечности в Arch Linux