Нет такого файла или каталога для существующего исполняемого файла [duplicate]

43

Я просто обновляюсь до Ubuntu 11.10 x64 от Ubuntu 11.04 32bit. Но я нахожу очень неприятную проблему. Когда я перетаскиваю исполняемый файл из файлового проводника в оболочку, оболочка говорит: bash: /home/fenfei/app/android-sdk-linux/platform-tools/adb: No such file or directory
это жус. У меня также есть проблема с выполнением ... / java. Поэтому я удаляю java и снова извлекаю пакет java, а затем выполняю его, и он работает. Но для /home/fenfei/app/android-sdk-linux/platform-tools/adb этот метод не работает. Все они отмечены как исполняемые.

Кто-нибудь может мне помочь?     

задан Fenfei 29.10.2011 в 13:23
источник

3 ответа

68

Если вы не хотите заполнять компьютер i386 libs, который вам не нужен.

Для adb вам просто нужно:

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

Для aapt необходимо добавить:

sudo apt-get install zlib1g:i386

Вы можете просмотреть все библиотеки, необходимые для исполняемого файла, выполнив:

objdump -x .../adb | grep NEEDED

Некоторые догадки и поиск по-прежнему необходимы, чтобы найти пакеты, содержащие эти файлы. «Поиск содержимого пакетов» Ссылка - хорошее место для этого. Не забудьте добавить i386 в качестве архитектуры.

    
ответ дан niknah 19.07.2012 в 15:49
41

Отображается сообщение «нет такого файла или каталога», потому что отсутствует разделяемая библиотека. Вы можете увидеть их с помощью команды ldd:

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

Возможно, вам не хватает 32-разрядных библиотек. Вы должны установить:

apt-get install ia32-libs

В Ubuntu 13-10, ia32-libs больше недоступен; вместо этого установите пакеты замены:

apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
    
ответ дан ithkuil 29.10.2011 в 14:02
3

Наблюдения Kenno могут быть полезны для тех, кто, как я, установили ia32-libs:

sudo apt-get install --reinstall libc6-i386

Ссылка     

ответ дан Psh 15.11.2011 в 21:16