Запуск 32-битного исполняемого файла на 64-битной Ubuntu Oneric

Запуск 32-битного исполняемого файла на 64-битной Ubuntu Oneric

Я пытаюсь запустить 32-битный исполняемый файл на моем 64-битном Ubuntu. Вот краткий обзор ситуации. Но мне нужно добавить ia32 libs, которые установлены:

> aptitude search ia32
i   ia32-libs - ia32 shared libraries for use on amd64 and ia64 syste

Прежде всего я проверил тип файла:

> file tipp10
tipp10: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped

Я использую 64-битный Oneric с не самым последним ядром, поскольку я его еще не перезапускал.

> uname -a
Linux christchurch 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:28:43 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Как я уже сказал, нормальное выполнение не работает. Оно прерывается, если файл или каталог не найден.

> strace ./tipp10
execve("./tipp10", ["./tipp10"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
[...]

Вот вывод ldd на моей системе. На моем 64-битном сервере Debian программа распознается как динамически связанная программа, и в выводе можно увидеть несколько ссылок на библиотеки. Но на моем Ubuntu:

> ldd tipp10
    \tdas Programm ist nicht dynamisch gelinkt
# german for: "The programm is not linked dynamic"

Я не понимаю, что происходит.

решение1

Проверьте, правильно ли установлена ​​библиотека libc6-i386; ENOENTиз execveсообщения следует, что отсутствует динамический компоновщик.

Связанный контент