Como redirecionar o caminho padrão da biblioteca de compartilhamento do vinculador /lib64/libc.so.6, /lib64/libc.so.6: versão `GLIBC_2.14' não encontrada

Como redirecionar o caminho padrão da biblioteca de compartilhamento do vinculador /lib64/libc.so.6, /lib64/libc.so.6: versão `GLIBC_2.14' não encontrada

Minha máquina Linux é x86_64-redhat-linux.

No entanto, estou usando outra cadeia de ferramentas de braçoaarch64-linux-gnu-gccnesta máquina para construir (não preciso executar o que construo nesta máquina, apenas construir, então deve ser bom usar o conjunto de ferramentas do braço para construir)

Recebo o seguinte erro:

aarch64-linux-gnu-gcc: /lib64/libc.so.6: 
version `GLIBC_2.14' not found (required by aarch64-linux-gnu-gcc)

Portanto, o caminho da biblioteca compartilhada padrão atual aponta para /lib64/libc.so.6, não quero atualizá-lo, pois não sou o único usuário desta máquina, como posso usar meu próprio libc.so.6, posso Redireciono o caminho de pesquisa para outro diretório?

Responder1

Problema

GLIBC 2.12 está instalado e como indica o título do OP, o conjunto de ferramentas de compilação cruzada que ele está tentando usarrequerGLIBC >2,14. O OP afirma que também está limitado porque não consegue atualizar o sistema.

Ressalvas

A lista abaixo na etapa 3 é usada para construir o changeroot. Quando possível, use os pacotes incluídos nos repositórios de suas distribuições. Se a versão mais recente em seu repositório for igual à versão instalada fora do changeroot, pare a Etapa 3 e use uma pesquisa de pacotes online, comoRPMEncontrarpara encontrar uma versão mais recente e continuar. Não instale a versão mais recente ou online fora do changroot. Isso causará falha no sistema, pela qual NÃO sou responsável!

Solução

O OP deve agora construir umprisão changerootpara instalar o compilador cruzado ARM, pois as versões do GLIBC não podem ser instaladas lado a lado. Veja tambémWikipédia - Chroot. Para fazer isso, siga estas etapas:

  1. Crie o diretório para o changeroot:mkdir -pv $HOME/newroot
  2. Crie uma substituição para redirecionar os pacotes RPM para instalação no chroot: export ROOT=$HOME/newroot && echo $ROOT. Veja a Etapa 4 se estiver curioso.
    • Por favor, repita a nova variável, pois ela se tornará muito importante em breve.
  3. Baixe os pacotes rpm recomendados para o changeroot (estes são os nomes dos pacotes):cd $ROOT && mkdir -v download && cd download
    • configurar
    • sistema de arquivo
    • sistema básico
    • ldconfig
    • glibc <--Observe a advertência acima aqui, ou você terá feito esse trabalho em vão.
    • mktemp
    • termcap
    • maldições
    • informações
    • utilitários de arquivo
    • bash && libtermcap
    • gdbm
    • tcsh
    • perl
    • chkconfig
    • utilitários de texto
    • cracklib
    • cracklib-dictos
    • pwdb
    • simplista
    • ficar boquiaberto
    • pam --nodeps
    • utilitários de sombra
    • gíria
    • util-linux --nodeps
    • sh-utils
    • zsh
    • sed
    • bzip2
    • estourar
    • zlib
    • rpm
    • Seu conjunto de ferramentas de compilação cruzada e suas dependências
  4. Use o seguinte comando para instalar a lista acima . rpm -i --root=$ROOT packagenameObserve o --rootargumento. Isso substitui o comportamento de instalação padrão do RPM. Observe os pacotes na lista com extras, por exemplo bash && libtermcap. Execute o comando rpm -i conforme escrito na lista, incluindo o --rootargumento. No exemplo acima, o libtermcap é instalado no mesmo diretório do bash.
  5. Por último, pode-se chroot $ROOT && export PS1="(chroot) $PS1".

Referência

Etapas acima adaptadas deComo configurar um ambiente chroot com RedHat Linux 6.2 - Para FTP e Web Service

informação relacionada