Estoy ejecutando Archlinux. Recientemente, uno de los paquetes nombrados icu
se actualizó; sin embargo, Firefox depende libicuuc.so.56
, mientras que R depende de libicuuc.so.55
. ¿Como puedó resolver esté problema?
Nota: el paquete R se creó contra la Intel MKL
biblioteca, por lo que no funciona en una nueva versión de dependencias. Traté de reconstruir R, todavía depende de lo viejolibicuuc.so.55
arch-linux
pacman
Mella
fuente
fuente
Respuestas:
Supongo que desea ejecutar un ejecutable específico con la biblioteca anterior. Llamemos al ejecutable
myprogram
.Si lo coloca
libicuuc.so.55
en un directorio diferente, por ejemplo, ya/opt/oldlibs/libicuuc.so.55
que es posible indicar elmyprogram
uso de la biblioteca anterior con un comando como este:LD_LIBRARY_PATH=/opt/oldlibs myprogram
Los archivos de la biblioteca se pueden extraer del archivo del paquete (que probablemente pueda encontrar
/var/cache/pacman/pkg
).Si esto no resuelve el problema de cómo piensa utilizar la aplicación, puede considerar ejecutarla en un chroot o contenedor.
fuente
/opt/oldlibs/
en/etc/ld.so.conf.d/R.conf
. (ElR.conf
archivo ya está allí, conR
la ruta de acceso lib estándar en él.)mi experiencia con arch linux
systemctl start mongodb dar error de inicio de proceso
Simplemente presiono journalctl -xe para verificar el registro actual
muestra falta libboost_system.so.1.64.1 (anterior)
es un sumlink lo resuelvo usando
readlink dime el enlace del enlace simbólico a /usr/lib/libboost_system.so.1.65.1
extraigo boost-libs 1.64 de / var / cache / pacman / pkg y pego todos los archivos / lib en / usr / lib también omito para anular el archivo antiguo
esto me resuelve romper dependencias más trabajo si no resolver hacer un enlace simbólico de falta como
ganancia de experiencia
no busque parches siempre use pacman -Suy && pacman -S package_name para instalar cualquier cosa. actualización parcial no compatible (en caso de arco)
fuente