Поиск по сайту:

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

Статьи по данной тематике