Я управляю Archlinux. Недавно один из названных пакетов icu
обновился; однако Firefox зависит libicuuc.so.56
, а R зависит от libicuuc.so.55
. Как я могу решить эту проблему?
Примечание: пакет R был построен на основе Intel MKL
библиотеки, поэтому он не работает с новой версией зависимостей. Я пытался восстановить R - это все еще зависит от старогоlibicuuc.so.55
arch-linux
pacman
Ник
источник
источник
Ответы:
Я предполагаю, что вы хотите запустить конкретный исполняемый файл со старой библиотекой. Давайте назовем исполняемый файл
myprogram
.Если вы поместите
libicuuc.so.55
в другой каталог, например, как/opt/oldlibs/libicuuc.so.55
можно указатьmyprogram
использовать старую библиотеку с помощью команды, подобной этой:LD_LIBRARY_PATH=/opt/oldlibs myprogram
Файлы библиотеки могут быть извлечены из файла пакета (который вы, вероятно, можете найти в
/var/cache/pacman/pkg
).Если это не решает проблему того, как вы собираетесь использовать приложение, вы можете вместо этого запустить его в chroot или контейнере.
источник
/opt/oldlibs/
в/etc/ld.so.conf.d/R.conf
. (R.conf
Файл уже там, соR
стандартным путем lib в нем.)мой опыт работы с Arch Linux
systemctl start mongodb выдаёт ошибку запуска процесса
я просто нажал journalctl -xe, чтобы проверить текущий журнал
он показывает отсутствующий libboost_system.so.1.64.1 (старый)
это sumlink, я разрешаю это используя
readlink подскажите ссылку на символическую ссылку на /usr/lib/libboost_system.so.1.65.1
я извлекаю boost-libs 1.64 из / var / cache / pacman / pkg и вставляю все файлы / lib в / usr / lib, также пропускаю, чтобы переопределить старый файл
это разрешит мне ломать зависимости дальнейшую работу, если не решит сделать символическую ссылку отсутствующих как
приобретение опыта
не ищите патчи всегда используйте pacman -Suy && pacman -S package_name для установки чего-либо. частичное обновление не поддерживается (в случае арки)
источник