Como posso manter duas versões do mesmo pacote no archlinux?

8

Estou usando o Archlinux. Recentemente, um dos pacotes com o nome icu foi atualizado; no entanto, o Firefox depende de libicuuc.so.56 , enquanto R depende de libicuuc.so.55 . Como posso resolver este problema?

Nota: o pacote R foi construído em relação a Intel MKL libiary, portanto, não funciona em novas versões de dependências. Tentei reconstruir R - ainda depende do antigo libicuuc.so.55

    
por Nick 18.11.2015 / 14:24

2 respostas

6

Eu suponho que você deseja executar um executável específico com a biblioteca antiga. Vamos chamar o executável myprogram .

Se você colocar libicuuc.so.55 em um diretório diferente, por exemplo, como /opt/oldlibs/libicuuc.so.55 , é possível instruir myprogram a usar a biblioteca antiga com um comando como este:

LD_LIBRARY_PATH=/opt/oldlibs myprogram

Os arquivos da biblioteca podem ser extraídos do arquivo do pacote (que você provavelmente encontrará em /var/cache/pacman/pkg ).

Se isso não resolver o problema de como você pretende usar o aplicativo, considere executá-lo em um chroot ou contêiner.

    
por 18.11.2015 / 14:38
0

minha experiência com o arch linux

systemctl start mongodb fornece erro de início do processo

Eu simplesmente clico journalctl -xe para verificar o log atual

mostra falta de libboost_system.so.1.64.1 (antigo)

é um sumlink que resolvo usando

readlink -f /lib/libboost_system.so.1.65.1  (new one)

readlink diga-me o link simbólico para /usr/lib/libboost_system.so.1.65.1

eu extraio o boost-libs 1.64 de / var / cache / pacman / pkg e colo todos os arquivos / lib em / usr / lib também pule para sobrescrever o arquivo antigo

isso me resolve quebrando dependências mais trabalho se não resolver fazer um symlink de falta como

 ln -s /lib/libboost_system.so.1.64.1 /usr/lib/libboost_system.so.1.64.1 

ganho de experiência

não está procurando patches use sempre pacman -Suy & & pacman -S package_name para instalar qualquer coisa. atualização parcial não suportada (no caso de arco)

    
por 25.11.2017 / 17:24