“/lib64/libc.so.6: versão 'GLIBC_2.7' não encontrada” Erro ao instalar o pacote R

1

Eu encontrei um problema ao tentar instalar um pacote R chamado "GenomicFeatures",

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '$HOME/.R325/lib64/R/library/RCurl/libs/RCurl.so':
  /lib64/libc.so.6: version 'GLIBC_2.7' not found 

Eu verifiquei o, a raiz não tem essa biblioteca.

/usr/lib64

Eu notei o sugestão gentil feita por eyoung100 , que pode resolver o meu problema. Meu conhecimento sobre unix / linux ainda está em sua infância, parece-me que ele sugeriu uma versão mini de toda a raiz, e instalar o pacote RPM no "newroot".

pareceu-me que ele sugeriu instalar todo o sistema, é necessário?

Alguma sugestão? Se alguma informação é necessária para resolver o problema, por favor, deixe-me saber.

    
por Jun 18.02.2017 / 11:16

2 respostas

1

Outra ideia (é por isso que a publico como uma nova resposta):

Algumas distros carregam as bibliotecas de diferentes lugares. Por exemplo, em Debians, a libc não está em / usr / lib64, mas em / lib / x86_64-linux-gnu. Não é um problema de compatibilidade, porque os aplicativos devem carregar as bibliotecas do sistema dos diretórios configurados pelo sistema para eles. Este aplicativo quebra isso, ele tenta carregar a libc de um local com fio, por isso é culpa dos desenvolvedores deste aplicativo.

Verifique onde está o seu libc.so.6 (mais facilmente você pode ver isso por um

ldd /bin/bash

comando), e simplesmente crie um link para esse diretório em / usr / lib64 (o comando: ln -sv / meu / libc / directory / usr / lib64).

    
por 18.02.2017 / 12:41
0

Este pacote requer pelo menos a versão 2.7 da glibc, que ainda é bastante antiga, mas sua distro parece muito mais antiga.

Se uma solução chroot e também uma atualização do sistema forem inviáveis, existem outras duas maneiras:

  1. Você pode atualizar apenas o glibc no seu sistema. Eles são strongmente compatíveis, por isso, provavelmente, não vai quebrar nada, mas você ainda corre o risco de arruinar o seu sistema em um estado onde você não será capaz de consertá-lo.

  2. Você pode extrair os arquivos glibc de um novo pacote glibc em um diretório local e executar apenas esse processo com esse diretório específico. Você pode fazer isso com a variável de ambiente LD_LIBRARY_PATH. Sabendo que este é um módulo R, que é chamado não diretamente por você, mas pelo R, você provavelmente terá que implementar algum wrapper shellscript trivial para a tarefa.

por 18.02.2017 / 12:22