linux + não consigo executar o utilitário de diálogo + tenho erros

linux + não consigo executar o utilitário de diálogo + tenho erros

Kernel Linux: 3.0.13-0.27-default #1 SMP

Eu instalei o utilitário “dialog” ( /usr/bin/dialog ) apenas copiei o arquivo bin para /usr/bin

Quando tentei executá-lo, apareceu uma mensagem de erro sobre a falta de libncursesw.so.5 lib.

para resolver o problema tento copiar o arquivo libncursesw.so.5 para /usr/lib/ mas não ajuda

• Agora, recebi outro erro:

     “error while loading shared libraries: /usr/lib/libncursesw.so.5: file too short”…

Responder1

O dialogbinário que você copiou é um executável dinâmico, o que significa que ele depende de bibliotecas compartilhadas como parte de sua execução. Você pode ver isso com ldd:

$ ldd "$(type -p dialog)"
    linux-vdso.so.1 (0x00007fff54fb1000)
    libncursesw.so.5 => /usr/lib/libncursesw.so.5 (0x00007fbc0ecee000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007fbc0e9eb000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007fbc0e640000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbc0ef4d000)

No meu caso, essas são as bibliotecas das quais ele depende. Dependendo da sua versão, opções de compilação e outros fatores, seu binário pode ter requisitos diferentes.

Como você copiou manualmente o binário /usr/binsem fazer nenhuma resolução de dependência, é bem possível que essas bibliotecas compartilhadas não existam em seu sistema. A segunda mensagem de erro que você recebeu, "arquivo muito curto", indica que algo está errado com aquela biblioteca (provavelmente é muito curta, deveria ser um link simbólico em vez de um arquivo. Não é possível dizer o que você colocou lá no seu pergunta sozinha).

Em vez de seguir esse caminho, você deve primeiro tentar instalar dialoga partir do seu gerenciador de pacotes em vez de apenas copiá-lo /usr/bindiretamente - dessa forma, você mantém um registro da instalação do pacote, recebe atualizações sem muitos problemas e terá as dependências instaladas automaticamente pelo seu gerenciador de pacotes. Como você está no OpenSUSE, tente remover os arquivos que você copiou manualmente ( /usr/bin/dialoge /usr/lib/libncursesw.so.5) e execute o yum install dialog. Isso deve resolver todos os seus problemas.

informação relacionada