Учитывая, что у вас установлена libglapi-mesa
версии 17, я предполагаю, что вы обновили Mesa из какого-то другого репозитория, отличного от репозитория Mint по умолчанию.Mesa 17 отказалась от поддержки GLES1, но пакеты VLC построены с зависимостью от GLES1, поэтому вы не можете установить пакеты VLC с помощью Mesa.
Однако вы можете создавать свои собственные пакеты VLC без GLES1:
Установите основные инструменты сборки и некоторые утилиты, которые мы собираемся использовать:
sudo apt-get install build-essential devscripts equivs gdebi
Перейдите в каталог, в котором вы можете записать
cd
mkdir vlc-сборка
cd vlc-сборка
Загрузите исходный код пакетов VLC
apt-get исходный код vlc
или, если конфигурация вашего репозитория не позволяет это сделать,
dget http://security.debian.org/pool/updates/main/v/vlc/vlc_2.2.4-1~deb8u1. доктор наук
(соответствует версии, которая у вас есть в Mint)
В извлеченном каталоге (vlc-2.2.4
вероятно) отредактируйте несколько файлов:
sed -i '/gles1/ d' debian/{control,rules,*.install*}
Оставаясь в извлеченном каталоге, запустите следующую команду, чтобы обновить журнал изменений и создать новую версию (чтобы ваша частная версия не была заменена существующей версией):
dch -n "Отменить поддержку GLES 1 (Mesa 17 больше не предоставляет его)».
dch -r игнорируется
Установите зависимости сборки (к сожалению, вы не можете использовать apt-get build-dep vlc
, потому что вы не можете установить библиотеки GLES 1):
mk-build-deps
sudo gdebi vlc-build-deps_*.deb
mv vlc-build-deps_*.deb ..
(этот последний шаг убирает сгенерированный пакет зависимостей)
Соберите пакет:
dpkg-buildpackage -us -uc
Теперь вы можете устанавливать любые пакеты, которые вам нужны, вы найдете их в родительском каталоге:
ls ../*.deb
Теперь вам нужно следить за будущими обновлениями VLC (которые иногда случаются, в частности, для устранения проблем с безопасностью) и повторять процесс при необходимости.
Чтобы найти неработающие символические ссылки во всех каталогах в вашем PATH
, с помощью bash
:
IFS=: read -ra dirs <<<"$PATH"
find -L "${dirs[@]}" -type l -maxdepth 1
Добавьте -delete
в find
, чтобы удалить их.