Nenhum arquivo ou diretório para o executável existente [duplicado]

43

Eu apenas atualizo para o Ubuntu 11.10 x64 do Ubuntu 11.04 32bit. Mas eu acho um problema muito chato. Quando eu arrasto o executável do explorador de arquivos para o shell, o shell diz que bash: /home/fenfei/app/android-sdk-linux/platform-tools/adb: No such file or directory
é tudo ali. Eu também tenho problema em executar ... / java. Então, eu excluo o java, e extrai o pacote java novamente, então ele é executado e funciona. Mas para /home/fenfei/app/android-sdk-linux/platform-tools/adb esse método não funciona. Todos eles são marcados como executáveis.

Alguém pode me ajudar?

    
por Fenfei 29.10.2011 / 13:23

3 respostas

68

Se você não quiser preencher o computador com bibliotecas i386 que você não precisa.

Para adb você só precisa de:

sudo apt-get install libc6:i386 libstdc++6:i386

Para aapt , você precisa adicionar:

sudo apt-get install zlib1g:i386

Você pode ver todas as libs necessárias para um executável executando:

objdump -x .../adb | grep NEEDED

Algumas suposições e pesquisas ainda são necessárias para encontrar os pacotes que contêm esses arquivos. O "Pesquisar o conteúdo dos pacotes" do link é um bom lugar para fazer isso. Lembre-se de adicionar i386 como a arquitetura.

    
por niknah 19.07.2012 / 15:49
41

A mensagem "nenhum arquivo ou diretório" é exibida porque há uma biblioteca compartilhada ausente. Você pode ver isso com o comando ldd:

ldd /home/fenfei/app/android-sdk-linux/platform-tools/adb

Provavelmente você está perdendo as bibliotecas de 32 bits. Você precisa instalar:

apt-get install ia32-libs

No Ubuntu 13-10, ia32-libs não está mais disponível; Em vez disso, instale os pacotes de substituição:

apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
    
por ithkuil 29.10.2011 / 14:02
3

As observações de Kenno podem ser úteis para quem gosta de mim ter as ia32-libs instaladas:

sudo apt-get install --reinstall libc6-i386

link

    
por Psh 15.11.2011 / 21:16